$('#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”,作为参数传递给这个插件。
我第一次点击时遇到问题。第一次单击时没有任何操作,如果再次单击,则单击事件的行为正常。
答案 0 :(得分:5)
对于绑定事件,您可能希望将其放在document.ready中:
$(document).ready(function () {
$("#somid").bind("click", function () {
// do something
});
});
如果你想在特定事件之后绑定它(比如调用sampleFunction
的东西),那么它将在之后才可用。我猜你在点击时会触发sampleFunction
元素已经。
如果您需要在页面上显示“someid”的任何时候将其提供,您应该使用on
:http://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 ;
});
}
});