Javascript jQuery选择器在使用.change()时工作正常,但在使用.live(';change';)时工作不正常

Javascript jQuery选择器在使用.change()时工作正常,但在使用.live(';change';)时工作不正常,javascript,jquery,html,Javascript,Jquery,Html,我有一个奇怪的问题,我的代码 $('input[name=attachment\\[\\]').change(function(e) { alert("test"); }); 工作正常,它会提醒“test”,但这只适用于我的第一个输入字段,我有一个[添加更多附件]按钮,在页面加载后添加额外的输入字段,因此我不能使用.change(),我需要使用.live('change',func…) 当我使用这个代码时 $('input[name=attachment\\[\\]').live('c

我有一个奇怪的问题,我的代码

$('input[name=attachment\\[\\]').change(function(e) {
    alert("test");
});
工作正常,它会提醒“test”,但这只适用于我的第一个输入字段,我有一个[添加更多附件]按钮,在页面加载后添加额外的输入字段,因此我不能使用.change(),我需要使用.live('change',func…)

当我使用这个代码时

$('input[name=attachment\\[\\]').live('change', function(e) {
alert("test");
});
它不再工作,我得到这个语法错误

Uncaught Error: Syntax error, unrecognized expression: input[name=attachment\[\] 

感谢您的帮助。:

如果您有要附加处理程序的动态元素,则需要在父元素上使用
on()
委托:

$(document).on('change','input[name=attachment\\[\\]',function(e) {
    alert("test");
});

PS:我仍然对
\\
感到困惑,但这至少应该让您走上正确的方向。

如果您有要附加处理程序的动态元素,则需要在父元素上使用
on()
委托:

$(document).on('change','input[name=attachment\\[\\]',function(e) {
    alert("test");
});

注:我仍然对
\\
感到困惑,但这至少会让你走上正确的方向。

这个表达是错误的。缺少属性选择器的右大括号

$('input[name=attachment\\[\\]]')
你也可以使用

$('input[name="attachment[]"]')
//or
$('input[name^=attachment]')
您可能应该在上使用
.on,而不是
.live
,如下所示:

$(document).on("change", "input[name^=attachment]", function () {

这个表达是错误的。缺少属性选择器的右大括号

$('input[name=attachment\\[\\]]')
你也可以使用

$('input[name="attachment[]"]')
//or
$('input[name^=attachment]')
您可能应该在
上使用
.on,而不是
.live
,如下所示:

$(document).on("change", "input[name^=attachment]", function () {

您知道吗,
live()
从jQuery 1.7开始就被弃用,从1.9开始就被删除了?您试过在哪个版本的jQuery中使用?吗?live()已在更高版本中删除!您正在使用哪个版本的jQuery。live()现在已删除。使用.on()代替。这也不应该真正适用于更改。选择器末尾缺少一个
]
。您使用的jquery版本是什么
live
不应该使用,除非您是1.7Ah之前的版本,谢谢各位。我知道它已被弃用,但不知道它已被删除,我正在使用>1.9。您知道
live()
在jQuery 1.7中已被弃用,而在1.9中已被删除吗?您试过在哪个版本的jQuery中使用?吗?live()已在更高版本中删除!您正在使用哪个版本的jQuery。live()现在已删除。使用.on()代替。这也不应该真正适用于更改。选择器末尾缺少一个
]
。您使用的jquery版本是什么
live
不应该使用,除非您是1.7Ah之前的版本,谢谢各位。我知道它已被弃用,但不知道它已被删除,我正在使用>1.9。关于“\\\”:@Sebastien-ha,非常感谢。。。今天学到了一些新东西谢谢,行得通。正如Explosion Pills所指出的,我的示例有一个语法错误,但是新的“on”功能非常有效,虽然这种语法对我来说有点奇怪,但我习惯于选择,然后绑定到一个动作,然后运行一个函数,这看起来很奇怪,但我将研究1.9中的更改。:)它仍然做你习惯做的事情。。。但是现在您1)选择
文档
,2)将
更改
处理程序绑定到文档,4)运行函数。新的事情是3)在这里,这个处理程序只监听源于带有特定选择器的元素的
change
事件(即
input[name=attachment\\[\\]]
)关于“\\\\\\\\:@Sebastien-ha,非常感谢。。。今天学到了一些新东西谢谢,行得通。正如Explosion Pills所指出的,我的示例有一个语法错误,但是新的“on”功能非常有效,虽然这种语法对我来说有点奇怪,但我习惯于选择,然后绑定到一个动作,然后运行一个函数,这看起来很奇怪,但我将研究1.9中的更改。:)它仍然做你习惯做的事情。。。但是现在您1)选择
文档
,2)将
更改
处理程序绑定到文档,4)运行函数。新的事情是3)在这里,这个处理程序只监听来自具有特定选择器的元素的
change
事件(即
input[name=attachment\\[\\]