0
$('#sampleid').bind('click', function(e) {
    // a call is made to the plugin to construct a dialog box, the id "someid" is passed as an argument to this plugin
    $('#someid').bind('click', function() {});
}

我有这个点击事件,它不会在第一次点击时触发,但从第二次点击开始就可以正常工作。samplefunction 函数调用另一个插件,该插件构建对话框。“someid”,作为参数传递给这个插件。

第一次点击有问题。第一次单击没有任何反应,如果再次单击,则单击事件行为正常。

4

3 回答 3

5

对于绑定事件,您可能希望将其放入 document.ready 中:

$(document).ready(function () {
    $("#somid").bind("click", function () {
        // do something
    });
});

如果你想在某个事件之后绑定它(比如调用sampleFunction,那么它直到之后才可用。我猜你已经sampleFunction在点击元素时触发了。

如果您需要在页面上出现“someid”的任何时候使用它,您应该使用onhttp ://api.jquery.com/on/

这“修复”了bind具有的“缺点”。

于 2012-10-04T17:41:31.680 回答
0

我认为on现在推荐。

var samplefunction =  function(){
    $(document).on('click', '#someid', function(){
        //do something ;
    });
}
于 2012-10-04T17:43:30.350 回答
-1

而不是在函数上绑定使用

 $(document).ready(function() {
        var samplefunction =  function(){
        //  
        $('#someid').on('click',function(){
        do something ;
        });
       }

    });
于 2012-10-04T17:41:14.863 回答