0

这是我单击按钮时执行的操作:

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

在执行其他操作时如何调用此事件,例如在按键上?我应该将此事件的代码移动到单独的函数还是可以调用单击或其他什么?

我试图打电话给点击:

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

但未执行该操作。

我使用 jquery 1.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

使用触发器() ...

当相应的事件发生时,任何附加了 .on() 或其快捷方法的事件处理程序都会被触发。但是,可以使用 .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 回答