HTMLButtonElement上的JQuery绑定点击事件

时间:2013-12-27 11:01:36

标签: jquery button bind

所以我有一个按钮数组,当我尝试为每个按钮指定一个这样的点击事件 button[i].bind("click", function() ... 它说Object#没有方法“绑定”。

可能是什么问题?

5 个答案:

答案 0 :(得分:1)

你应该试试

$(button[i]).on("click", function(){});

button[i]是一个javascript对象,因此您需要使用$(button[i])在jQuery对象中转换它以应用jquery事件。

答案 1 :(得分:1)

button[i]不是jquery对象,因此它没有bind函数。

您没有为我提供足够的代码来为您提供完整的解决方案,但您最终应该

$(button[i]).bind("click", function(){}); 

答案 2 :(得分:0)

数组"按钮"可能包含选择器(像"#xyz"这样的字符串),而不是对象。您需要将它们转换为对象:

$(button[i]).bind("click", function()

答案 3 :(得分:0)

给出以下HTML:

<button>Something</button>
<button>Something</button>
<button>Something</button>

您可以按如下方式获取按钮数组:

var buttons = document.getElementsByTagName("button");

然后将整个数组传递给jQuery来绑定按钮:

$(buttons).click(function(){
   alert("hello");
});

或者只选择所有按钮开始:

$("button").click(function(){
   alert("hello");
});

我要传达的主要观点是,您很可能不需要使用.forEach迭代按钮[]。

答案 4 :(得分:0)

如果这些按钮存在于一个共同的祖先中,那么绑定该父元素上的点击会更有效。

$('.parent').on('click','button',function(e){
   ...
});

如果这些按钮具有通用功能,则可以使生活更轻松 - 如果每个功能都需要不同的行为,那么可以使用按钮上的数据,您可以为每个按钮指定不同的方法。