在 jQuery 中将 .live() 更新为 .on()
在 jQuery 版本 1.7 及更高版本中,.live() 方法具有已被更通用的 .on() 方法取代。但是,在转换到 .on() 时,需要考虑某些细微差别,以确保正确的事件处理。
遇到的一个常见问题涉及动态添加的元素。 .live() 自动将事件处理程序附加到与给定选择器匹配的现有和未来元素,而 .on() 仅将处理程序附加到调用时 DOM 中已存在的元素。
实现类似的效果处理动态元素时,需要使用 .on() 将事件处理程序绑定到更高级别的元素(例如文档正文)方法。
例如,考虑将动态下拉列表添加到网页的场景,并且需要将事件处理程序附加到这些下拉列表以检测更改。使用 .on(),事件处理程序将绑定到文档主体,如下所示:
$(document.body).on('change', 'select[name^="income_type_"]', function() { alert($(this).val()); });
或者,建议将事件处理程序尽可能靠近目标元素绑定,这可以提高性能并减少潜在问题。
以上是对于动态添加的元素,如何从 jQuery 的 .live() 迁移到 .on()?的详细内容。更多信息请关注PHP中文网其他相关文章!