问题是我有一些动态创建的输入标签集,而且我还有一个函数可以在输入值更改时触发。
$('input').on('change', function() { // Does some stuff and logs the event to the console });
但是,.on('change')不会触发任何动态创建的输入,仅适用于加载页面时存在的项目。不幸的是,这让我有点困惑,因为这.on意味着要替换所有这些都是:/.live()``.delegate()``.bind()
.on('change')
.on
.live()``.delegate()``.bind()
有没有其他人遇到过这个问题或知道解决方案?
您应该为该on函数提供一个选择器:
on
$(document).on('change', 'input', function() { // Does some stuff and logs the event to the console });
在这种情况下,它将按您的预期工作。此外,最好指定一些元素而不是文档。
阅读这篇文章以获得更好的理解:http ://elijahmanor.com/differences-between-jquery-bind-vs- live-vs-delegate-vs-on/