0

誰かが次のことで私を助けることができるでしょうか:

$(this).trigger('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>

クリックイベントをトリガーした後、テキストエリアからカーソル位置が返されないのはなぜですか。マウス ボタンを物理的に押すと、コンソールの表示がカーソル位置をキャプチャします。.trigger('click') も同じことをすると思いました。

テキストエリア上にマウスを移動すると、テキストエリア内のカーソル位置を返すようにこのコードを修正するにはどうすればよいですか?

どんな助けでも大歓迎です。

マーティン

4

1 に答える 1

1

$(this).trigger('click') はユーザーが行った物理的なクリックを複製すると思いましたか?

ありますが、現在、this内部$(this)はクリックしたい要素を参照していないようです。

でボタンを作成してみてidください。これを試してください。

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

または単に:

$('#buttonID').click();
于 2012-06-09T10:47:20.950 に答える