0

これは、ボタンをクリックしたときに実行されるアクションです。

$('div.my-button').on('click', 'button', function(e) {
        // some code
});

キーを押すなど、別のアクションを実行するときにこのイベントを呼び出すにはどうすればよいですか?このイベントのコードを別の関数に移動する必要がありますか、それともクリックなどを呼び出すことができますか?

クリックを呼び出そうとしました:

$('div.my-button').click() 

しかし、アクションは実行されませんでした。

私はjquery1.9+を使用しています

編集1:

    $('div.my-button').on('click', 'button', function(e) {
        var $this = $(this);
        var request = $.ajax({
            url: "/my_url/",
            type: "POST",
            data: {
                "value": $this.val(),
            },
            success: function(result){
                //some actions
            },
            error: function(result){
                //some actions
            }
        });
    });

私はこれを使用して呼び出すようにします:

    jQuery(document).bind('keydown', 's',function (e){
        $('div.my-button').trigger('click');
    });

キーをバインドするには、jquery.hotkeyを使用します

.triggerは私には機能しません。

4

3 に答える 3

2
$('div.my-button').trigger('click') ;
于 2013-03-15T10:23:49.957 に答える
2

trigger()を使用する..。

.on()またはそのショートカットメソッドの1つが付加されたイベントハンドラーは、対応するイベントが発生したときにトリガーされます。ただし、.trigger()メソッドを使用して手動で起動できます。.trigger()の呼び出しは、イベントがユーザーによって自然にトリガーされた場合と同じ順序でハンドラーを実行します。

$('div.my-button button').trigger('click') ;
于 2013-03-15T10:24:20.417 に答える
2

デフォルトのクリック動作やイベントの伝播を望まない場合があるため、.triggerHandlerを使用します

$('div.my-button button').triggerHandler('click') ;
于 2013-03-15T10:24:38.413 に答える