多次调用Jquery单击代码
我尝试将我的代码添加到一个提琴中,它在那里运行良好,所以请尝试在我的网站上直接分析它。 以下是网页: 如果您转到groceries.js,第39行是#addNewSection图像上clic事件的代码 然后在页面中单击大绿色+按钮,将弹出一个公式集,然后再次单击大绿色+符号。您会注意到.click()函数中的代码被多次调用 有人知道为什么吗 编辑: 我找到了错误的根源。Y在名为init的函数中向事件添加了挂钩,类似于:多次调用Jquery单击代码,jquery,click,Jquery,Click,我尝试将我的代码添加到一个提琴中,它在那里运行良好,所以请尝试在我的网站上直接分析它。 以下是网页: 如果您转到groceries.js,第39行是#addNewSection图像上clic事件的代码 然后在页面中单击大绿色+按钮,将弹出一个公式集,然后再次单击大绿色+符号。您会注意到.click()函数中的代码被多次调用 有人知道为什么吗 编辑: 我找到了错误的根源。Y在名为init的函数中向事件添加了挂钩,类似于: function init() { $("#addNewSecti
function init() {
$("#addNewSection").click( function(e){
newSectionButtonClicked();
});
}
并在$(function()..
中添加了一个调用,但我也从其他站点调用了这个init(),因此每次我调用它时,都会有一个新的函数实例连接到click事件!!只有在我们还没有连接的情况下,才有方法连接到事件???function drawMarket(){
function drawMarket(){
$("#market").html("<ul id='marketList'>");
$.each(sections, function(idx, obj){
var name = htmlDecode(obj.Name);
var listItem = $('<li />');
listItem.append(name);
var innerComponent = $("<ul class='section' id='S_"+obj.Id+"'/>");
var ItemName = htmlDecode(ItemObj.Name);
innerComponent.append("<li id='"+ItemObj.Id+"' class='item'>"+ItemName+"</li>");
listItem.append(innerComponent);
listItem.append("<div class='clearer'/>");
$("#marketList").append(listItem);
});
init();
}
$(“#市场”).html(“”);
$。每个(部分、功能(idx、obj){
变量名称=htmlDecode(对象名称);
变量listItem=$(“”);
追加(名称);
var innerComponent=$(“
);
var ItemName=htmlDecode(ItemObj.Name);
innerComponent.append(““+ItemName+” ”);
追加(innerComponent);
listItem.追加(“”);
$(“#市场列表”)。追加(列表项);
});
init();
}
请在您的groceries.js中替换此功能,它将对您有所帮助
您不需要在该函数中添加每个循环,因为它将始终附加内部文本{
$(“#市场”).html(“您不需要在该函数中执行每个循环,因为它始终会附加内部文本,即您的代码在同一元素上多次注册单击处理程序。如果是,请尝试检查代码。我也遇到过这种情况。第一次单击调用一次,第二次单击调用两次,然后每次单击注册一个a单击同一处理程序上的处理程序
另外,如果您可以向我们展示代码以供查看。您的代码是否在同一元素上多次注册了单击处理程序。如果是,请尝试检查代码。这也是我所面临的情况。第一次单击调用一次,第二次单击调用两次,然后每次单击都在同一处理程序上注册一个单击处理程序
另外,如果您可以向我们展示代码以供查看。您的代码是否在同一元素上多次注册了单击处理程序。如果是,请尝试检查代码。这也是我所面临的情况。第一次单击调用一次,第二次单击调用两次,然后每次单击都在同一处理程序上注册一个单击处理程序
另外,如果您可以向我们展示代码以供查看。您的代码是否在同一元素上多次注册了单击处理程序。如果是,请尝试检查代码。这也是我所面临的情况。第一次单击调用一次,第二次单击调用两次,然后每次单击都在同一处理程序上注册一个单击处理程序 另外,如果您可以向我们展示代码以供查看。您应该只调用init()函数一次,或者删除此函数中click event的赋值,并将其放入只调用一次的函数中,例如:
$("#addNewSection").click( function(e){
newSectionButtonClicked();
});
每次调用init()函数时都会调用此函数,因此每次调用init()时都会再次触发此事件
您应该只调用此注册一次您应该只调用init()函数一次,或者删除此函数中click事件的赋值,并放入一个只调用一次的函数,例如
jQuery(document).ready(function() {
$("#addNewSection").click( function(e){
newSectionButtonClicked();
});
});
jQuery(document).ready(function() {
init();
});