您好,我正在为我的应用程序编写jQuery代码,但遇到了一些问题(比如函数被调用一次,运行了三次)。我必须知道如果存在任何网站,人们审计源代码和评论我的错误..
我的大部分代码是这样的i/e:
$('a.openBox').click(function(){
//do something
$('.box').show();
$('a.openModal','.box').click(function(){
$.openModal(some, parameters)
});
});
$.openModal = function(foo,bar){
//do something
$('a.close').click(function(){
$('#modal').hide();
});
$('input.text').click(function(){
$.anotherFunction();
});
});我是不是做错了什么?
发布于 2010-11-05 06:25:17
我不知道有任何这样的源代码审计--当然不是免费的!这个网站对于特定的问题还是很好的。
在这种情况下,问题是您不断地绑定越来越多的事件。例如,使用以下代码:
$('a.openBox').click(function(){
//do something
$('.box').show();
$('a.openModal','.box').click(function(){
$.openModal(some, parameters)
});
});这段代码说:“每当用户单击a.openbox元素时,显示所有.box元素,并将一个新的单击处理程序绑定到所有.box a.openModal元素”。这意味着每次单击a.openbox时,都会向.box a.openModal添加另一个处理程序。我不敢相信这就是你想要做的!
如果不知道上下文和您想要发生的事情,就很难计算出正确的代码应该是什么。我给你的第一个建议是阅读一些Javascript事件和事件处理程序,特别是在jQuery中实现它们的时候。
https://stackoverflow.com/questions/4101902
复制相似问题