jQuery写入输入按钮追加

时间:2010-08-12 21:30:19

标签: jquery

我正在编写一个带有以下代码的输入按钮:

$("#QnA").append("<input type='button' name='questionSub' value='Save'/>");

我想做的是捕获新按钮的点击功能。 这就是我的尝试:

$('input[name=questionSub]').click(function () {
   alert('hi');
});

这对我不起作用。有什么想法吗?

4 个答案:

答案 0 :(得分:3)

您需要对新创建的元素使用jQuery的live方法

$('input[name=questionSub]').live("click", function () {
   alert('hi');
});

答案 1 :(得分:3)

您只能在创建元素后将事件绑定到元素,因此请确保在添加输入后发生单击绑定。

答案 2 :(得分:3)

您可以在创建时附加点击处理程序,如下所示:

$("<input type='button' name='questionSub' value='Save'/>").click(function() {
  alert('hi');
}).appendTo("#QnA");

答案 3 :(得分:1)

It works for me. (jsFiddle Example)

只需确保在添加input按钮后调用点击功能。


编辑:
如果要在附加输入之前绑定click函数,则只需要使用live(),因为live()会将事件的处理程序附加到与当前选择器匹配的所有元素,现在或者未来

jsFiddle Example