作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 JS 在 DOM 上创建元素。问题是,如何为每个新创建的元素分配 .change() 函数?
最佳答案
从性能角度来看,比 .live()
更好的是 .delegate()
。这与 .live()
的工作方式相同:它使用称为事件冒泡的东西,这意味着当 DOM 元素上触发事件时,该元素的父元素都会收到该事件的通知。然而,delegate
具有更好的语法和显着的性能优势。
$('#parentElement').delegate('select.yourSelectClass', 'change', function() {
// do your processing here
});
#parentElement
可以是与您要添加的所有 select
元素的共同祖先元素相匹配的任何选择器。这可能是 document.body
,但 DOM 树中可能还有另一个可以绑定(bind)的元素。
select.yourSelectClass
表示此处理程序只会在具有 yourSelectClass
类的选择元素上触发。您可以根据需要更改此选择器以使用任何其他 jQuery 选择器语法。
关于JQuery - 如何将change()函数绑定(bind)到动态创建的<select>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4197410/
我是一名优秀的程序员,十分优秀!