jQuery写入输入按钮append

jQuery写入输入按钮append,jquery,Jquery,我正在用以下代码编写一个输入按钮: $("#QnA").append("<input type='button' name='questionSub' value='Save'/>"); 这对我没用。有什么想法吗? 只要确保在附加了input按钮后调用click函数即可 编辑: 如果要在附加输入之前绑定click函数,则只需使用,因为live()将为所有匹配当前选择器的元素(现在或将来的元素)的事件附加一个处理程序 只要确保在附加了input按钮后调用click函数即可 编辑

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

$("#QnA").append("<input type='button' name='questionSub' value='Save'/>");
这对我没用。有什么想法吗?

只要确保在附加了
input
按钮后调用click函数即可


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

只要确保在附加了
input
按钮后调用click函数即可


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


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

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

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

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

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

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

您可以附加单击处理程序,如下所示:

$("<input type='button' name='questionSub' value='Save'/>").click(function() {
  alert('hi');
}).appendTo("#QnA");
$(“”)。单击(函数(){
警报(“hi”);
}).附于(“#QnA”);

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

$("<input type='button' name='questionSub' value='Save'/>").click(function() {
  alert('hi');
}).appendTo("#QnA");
$(“”)。单击(函数(){
警报(“hi”);
}).附于(“#QnA”);


这也是我的代码,但它不起作用!但是.live(@Marko)解决方案确实有效。谢谢。@Jeff V-只有在尝试绑定单击后追加输入时,您才需要live。@Peter-您能进一步解释一下吗?单击功能在附加代码之后。我不知道你是不是在说这个。生活对我来说是新的。很可能我的设置代码中有错误。无论出于何种原因,fiddler示例中的代码(与我的原始代码相同)不起作用。@Jeff-发布整个相关区域或指向整个相关区域的链接(尝试在JSFIDLE或仅在orginial的url上复制),因为听起来您不需要使用live,因此,您正在执行一些您不知道的额外操作。我正在对我的Web服务(asp.net)进行ajax调用,然后循环处理JSON数据。在循环结束时,我正在为按钮执行append语句。所有这些代码都来自于$.ajax的成功:不确定这是否与我的问题有关。我很感谢你的帮助。这也是我的代码,但它不起作用!但是.live(@Marko)解决方案确实有效。谢谢。@Jeff V-只有在尝试绑定单击后追加输入时,您才需要live。@Peter-您能进一步解释一下吗?单击功能在附加代码之后。我不知道你是不是在说这个。生活对我来说是新的。很可能我的设置代码中有错误。无论出于何种原因,fiddler示例中的代码(与我的原始代码相同)不起作用。@Jeff-发布整个相关区域或指向整个相关区域的链接(尝试在JSFIDLE或仅在orginial的url上复制),因为听起来您不需要使用live,因此,您正在执行一些您不知道的额外操作。我正在对我的Web服务(asp.net)进行ajax调用,然后循环处理JSON数据。在循环结束时,我正在为按钮执行append语句。所有这些代码都来自于$.ajax的成功:不确定这是否与我的问题有关。感谢您的帮助。@Marko-#2是真的,您只能在元素存在时将事件绑定到元素
.live()
不绑定到元素,它绑定到
文档
:)无法100%确定数字1,因此“我相信…”。100%确定数字2是真的。您无法将事件绑定到尚不存在的元素。我必须编辑您的问题,以便重新投票。我给了你+1,因为我错得很厉害:)我可能只应得半分,但谢谢你的重新投票。@Justing-请编辑你的答案并删除#1,因为它不正确。您只需查看属性值的“引号是可选的”。@Marko-#2为真,您只能在元素存在时将事件绑定到元素
.live()
不绑定到元素,它绑定到
文档
:)无法100%确定数字1,因此“我相信…”。100%确定数字2是真的。您无法将事件绑定到尚不存在的元素。我必须编辑您的问题,以便重新投票。我给了你+1,因为我错得很厉害:)我可能只应得半分,但谢谢你的重新投票。@Justing-请编辑你的答案并删除#1,因为它不正确。您所要做的就是查看属性值的“引号是可选的”。我可能能够做到这一点,但代码可能比警报更复杂。@Jeff V很可能是真的。如果您希望保持可见性,可以将代码放在函数中并调用该函数-这是一种设计选择,但很可能这是一个比.live更好的解决方案,因为它绑定到#QnA id,因此性能应该比绑定到文档更高。&@Mark-我可能在应用程序的其他部分使用此解决方案。谢谢我可能能够做到这一点,但代码可能比警报更复杂。@Jeff V很可能是真的。如果您希望保持可见性,可以将代码放在函数中并调用该函数-这是一种设计选择,但很可能这是一个比.live更好的解决方案,因为它绑定到#QnA id,因此性能应该比绑定到文档更高。&@Mark-我可能在应用程序的其他部分使用此解决方案。T