0

这是一个新手的普遍问题-

在 javascript /(最好是)jQuery 中,如果(且仅当)满足多个事件时,如何创建一个触发的函数?

更具体地说,如何仅在单击(1.)按钮并(2.)更改 HTML 标记后触发事件?(此处的文档:http: //api.jquery.com/change/

4

2 回答 2

2

如果你想使用承诺:

$.when(
    $.Deferred(
        function(d) {
            $("#mybutton").click( 
                function() {d.resolve();}
            );
        }),
    $.Deferred(
        function(d) {
            $("#myhtml").change( 
                function() {d.resolve();}
            );
        })
).done( function() { alert("Both click and change happened"); } );

虽然这只会在第一次工作。

于 2013-08-02T23:55:52.927 回答
0

像这样的东西

function (a, b, fn) {  
    $(a).click(function(){
        $(this).attr('data-state','clicked');
    })       

    $(b).click(function(){
        if ($(a).attr('data-state') == 'clicked') {
            fn(this);
            $(a).attr('data-state','reset');
        }
    })
}
于 2013-08-02T23:34:21.530 回答