Javascript 在创建元素之后执行jQuery函数吗
很抱歉我的英语不好。Javascript 在创建元素之后执行jQuery函数吗,javascript,jquery,events,click,Javascript,Jquery,Events,Click,很抱歉我的英语不好。 我做了一个jQuery函数,当用户调用该函数时,它会在页面上创建一个元素。对于那个elemet,我做了一个jQuery点击事件,它工作正常, 但是如果用户像这样调用函数3次: $.someFunction(); $.someFunction(); $.someFunction(); 如果用户单击第一个元素,它将执行单击事件回调函数中的3次操作;如果用户单击第二个元素,它将执行单击事件回调函数中的2次操作;如果用户在最后一个元素上执行,它将执行一次操作。 我希望当用户单击每
我做了一个jQuery函数,当用户调用该函数时,它会在页面上创建一个元素。对于那个elemet,我做了一个jQuery点击事件,它工作正常,
但是如果用户像这样调用函数3次:
$.someFunction();
$.someFunction();
$.someFunction();
如果用户单击第一个元素,它将执行单击事件回调函数中的3次操作;如果用户单击第二个元素,它将执行单击事件回调函数中的2次操作;如果用户在最后一个元素上执行,它将执行一次操作。我希望当用户单击每个元素时,回调函数只发生一次。
如何解决该问题?尝试执行以下操作:
$(".element").unbind("click").bind("click", function(){
alert('a');
});
将事件绑定到创建的元素,而不是所有现有元素
$.somefunction = function() {
$("<div />").text("click me!").bind("click",function(){
alert("Hello World!");
}).appendTo("body");
}
$.somefunction=function(){
$(“”)。文本(“单击我!”)。绑定(“单击”,函数(){
警报(“你好,世界!”);
}).附于(“主体”);
}
更简单:使用jquery.on
$('.some-selector').on('click', function()
{
// do your work here
});
当jquery打开时(在旧版本中为“live”),它将绑定到与该选择器匹配的任何元素,无论何时将其添加到DOM。显示这是如何实现的?您可能正在基于
类
或名称
属性绑定事件,这将导致事件绑定到每个元素的次数n
因为您将使用所述类
或名称
属性并添加另一个单击
事件。我建议为每个动态创建的元素指定一个唯一的id
,并以这种方式绑定事件。您应该显示如何在函数中设置事件单击处理程序,或者在何处设置事件单击处理程序。on不是创建委派事件的语法。您的代码与$('.some selector')相同。请单击(function(){