<div id = uni1>
<input type=button class=click rel="1">
</div>
<div id = uni2>
<input type=button class=click rel="2">
</div>
<div id = uni3>
<input type=button class=click rel="3">
</div>
<div id = uni4>
<input type=button class=click rel="4">
</div>
$(".click").click(function()
{
alert("Help");
})
我在识别jquery的点击按钮时遇到问题,这会提示4次警报。 “#uni1 .click”将允许我识别 但我不能静态定义这个。 MEAN我只能使用.click。因为我的uni1&lt; - 是DYNAMIC我可以拥有uni100。 或者Uni10000(这是用户选择的单数)
我的问题是如何为每种输入类型唯一标识每个按钮。 点击按钮后我可以使用
$(".click").click(function()
{
$(this).parent().attr('id');
//it doesn't solve the problem that alert will still be executed 4 times. i want to have click being uniquely identify upon user click.
alert("Help");
})
<div id=uni>
<div id = uni1>
<input type=button class=click rel="1">
</div>
<div id = uni2>
<input type=button class=click rel="2">
</div>
<div id = uni3>
<input type=button class=click rel="3">
</div>
<div id = uni4>
<input type=button class=click rel="4">
</div>
</div>
$("#uni"+i).load(abc.html,function(){ $(".click").click(funcion(){ alert("help");})})
答案 0 :(得分:1)
我已经尝试了你的例子,它对我很好。 http://jsfiddle.net/3yQ4W/
如果它被提示4次,或者是因为你已经宣告了4次,或者因为你有一些奇怪的循环,你没有向我们展示。
编辑:
$("body").on('click','.click',function(){
alert($(this).parent().attr('id'));
});
答案 1 :(得分:0)
我认为您可能需要使用闭包。 Javascript可以是这样的:
(function(){
var inputs = $(".click");
for(var i = 0; i < inputs.length; i++){
inputs[i].onclick = (function(n){
return function(){
alert(n)
}
})(i)
}
})()
因此每个链接都有自己的onclick事件。单击一个将提示其输入数组的索引。 你也可以查看jsfiddle:http://jsfiddle.net/zhujy_8833/YWr7z/