点击事件不会在第一次点击时触发

时间:2012-10-04 17:38:16

标签: javascript jquery

$('#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”,作为参数传递给这个插件。

我第一次点击时遇到问题。第一次单击时没有任何操作,如果再次单击,则单击事件的行为正常。

3 个答案:

答案 0 :(得分:5)

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

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

如果你想在特定事件之后绑定它(比如调用sampleFunction的东西),那么它将在之后才可用。我猜你在点击时会触发sampleFunction元素已经。

如果您需要在页面上显示“someid”的任何时候将其提供,您应该使用onhttp://api.jquery.com/on/

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

答案 1 :(得分:0)

我认为现在推荐on

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

答案 2 :(得分:-1)

而不是功能上的绑定使用

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

    });