您好我正在为我的应用程序编写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();
});
});
我做错了什么?
答案 0 :(得分:2)
我不知道这样的任何源代码审核 - 当然不是免费的!这个网站虽然适合特定的问题,但是很好......
在这种情况下,问题在于您不断绑定越来越多的事件。例如,使用以下代码:
$('a.openBox').click(function(){
//do something
$('.box').show();
$('a.openModal','.box').click(function(){
$.openModal(some, parameters)
});
});
此代码显示“每当用户点击a.openbox
元素时,都会显示所有.box
元素,并将新的点击处理程序绑定到所有.box a.openModal
元素” 。这意味着每次点击.box a.openModal
时,您都会向a.openbox
添加另一个处理程序。我无法相信这就是你想要做的!
如果不了解上下文以及您想要发生什么,很难弄清楚正确的代码应该是什么。我在第一个例子中给你的建议是对Javascript事件和事件处理程序进行一些阅读,特别是当它们在jQuery中实现时。