var id=100;
for(var i=0;i<5;i++) {
$("#divtext_"+id).click(function(e) {
onClicked();
});
}
function onClicked() {
alert("Clicked")
}
.on()
,delegate()
和one()
事件。onClicked()
函数提供了alert()
4次。答案 0 :(得分:0)
这就是我期望代码在jquery下运行的方式,这里的选项是使用.unbind(http://api.jquery.com/unbind/)删除此div的所有先前指令或检查事件是否已经这已经包含在这里了。 How to check if click event is already bound - JQuery
答案 1 :(得分:0)
假设您的ID为divtext_0
... divtext_4
for(var i=0;i<5;i++) {
$("#divtext_"+i).click(function(e) {
onClicked();
});
}
function onClicked() {
alert("Clicked")
}
目前您正在向div divtext_100
添加多个点击处理程序 - 而不是向多个div添加一个点击处理程序。
如果没有看到你的HTML,很难说什么是最好的 - 但如果你给所有的div一个类,例如'clickable',然后你可以避免任何循环,并使该类可点击任何div。
<div class="clickable"></dvi>
你可以这样做。
$(".clickable").click(function(e) {
onClicked();
});
function onClicked() {
alert("Clicked")
}
答案 2 :(得分:0)
试试这个:
$("#divtext_"+id).one("click", function(e){
onClicked();
});
答案 3 :(得分:0)
你可以使用 $(&#34; #divtext _&#34 + ID).off(&#39;单击&#39;,onClicked)。在(&#39;单击&#39;,onClicked);
function onClicked() {
alert("Clicked")
}
&#39; .off&#39;防止多次绑定onClicked函数。我认为使用.off
可以解决您的问题。
如果您使用的是旧版本的jquery,请使用.unbind
。