Копирует ли $(this).trigger('click') в jQuery физический щелчок мышью?

Может ли кто-нибудь там помочь мне со следующим:

Я думал, что $(this).trigger('click') будет повторять физический клик, сделанный пользователем? Вот код, который у меня есть для запуска события click при перемещении по текстовой области:

<!DOCTYPE html>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function() {
    var getCursorPos = function(e){
        $(this).trigger('click');
        var $cursor_position = $(this).prop("selectionStart");
        $('#result').html('<p> Cursor position: ' + $cursor_position + '</p>');
        console.log("Auto click at ", $cursor_position, e.pageX, e.pageY);
    };
    $("#text").bind({
        mousemove: getCursorPos,
    });
});
</script>

<html>
    <div id="result"></div>
    <textarea id="text">This is some example text</textarea>
</html>

Почему он не возвращает позицию курсора из текстовой области после запуска события click. Если я физически нажимаю кнопку мыши, показания консоли фиксируют положение курсора. Я думал, что.trigger ('click') сделает то же самое.

Как бы исправить этот код, чтобы он возвращал позицию курсора в текстовой области, когда я перемещаю мышь над текстовой областью?

Любая помощь с благодарностью.

Martyn

1 ответ

Я думал, что $(this).trigger('click') будет повторять физический клик, сделанный пользователем?

Это делает, но в настоящее время this внутри $(this) не похоже на элемент, на который вы хотите нажать.

Попробуйте создать кнопку с idи попробуйте это:

$('#buttonID').trigger('click');

Или просто:

$('#buttonID').click();
Другие вопросы по тегам