JQuery的 - 使代码执行的实例化每一个新的DOM对象
-
20-08-2019 - |
题
我想知道如果这是可能在JQuery中。
我有一个创建DOM对象在飞行中,响应于用户动作一些JavaScript代码。一些那些DOM对象的是在一个特定的结构 - 该容器总是具有相同的“类”属性
。我想要做的是,在每次创建带班“X” DOM对象的新实例的时候,我想同一段JavaScript代码来执行。该代码将一个“点击”事件添加到DOM对象。
不幸的是,我不能只是把指派中的document.ready()的onclick的代码,因为它结合于被动态创建,的document.ready()已经执行长后的物体。
是否JQuery的让你设置将自动绑定到一个类型的DOM对象的持久性绑定,即使它在飞行中产生的?
解决方案
此用于通过“活”,“代表”覆盖,或有时“绑定”。现在,这些均替换为“开”但也有一些需要注意的是这里讨论:的JavaScript事件绑定持久
其他提示
我想我已经找到了答案,以我自己的问题,jQuery的文档权,足够令人惊讶。
http://docs.jquery.com/Events/live#typefn
live( type, fn )
添加jQuery中1.3:绑定一个处理程序的事件(如点击)的所有电流 - 和未来 - 匹配的元素。还可以结合自定义事件。
让你看上去的jQuery插件称为的liveQuery ?
从的liveQuery文档页面:
例如,你可以使用 下面的代码绑定click事件 对所有国家的标签,甚至任何一个标签,你 可能是通过AJAX添加。
$('a')
> .livequery('click', function(event) {
> alert('clicked');
> return false;
> });
一旦你添加新的A标签你 文件,实况查询将结合 单击事件,并没有别的 需要被称为或实现。
不可能在jQuery的核心(如你可能已经与其他的答案提到一些插件来实现)......这可能是一个非常简单的任务,如果你没有一定需要的东西像livequery
所有功能
有关支持它们的浏览器 - 使用DOM 2级事件 - 'DOMNodeInserted':
的http:// WWW。 w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents