Jquery有live函数,那,如何用原生的Js绑定还未出现的元素的事件呢?

假设有一个DIV,<divid="sui_bian">ajax取得内容后将放在这里</div>,现在,我将用ajax取得服务器端的内容并将内容填充到这个DIV内,对于这些... 假设有一个DIV,<div id="sui_bian">ajax取得内容后将放在这里</div>,现在,我将用ajax取得服务器端的内容并将内容填充到这个DIV内,对于这些还未出现但一定会出现的元素,且内容的模板、结构、id、class、事件统统是由我制定的,我想事先对这些内容中的某些元素写好事件,
那么,我要提问了,
我要如何用原生的js来绑定它们(将来要出现的已知id或class的元素)的事件呢?

要求:不准用任何其它第三方的框架(jquery、moontools等),只准用原生的js。

提示:这个好像涉及到事件的原理、事件的冒泡等等,我百度过,没有找到具体的详细的方案,所以,只好来此一问。
展开
 我来答
cainiaokan
2012-09-21 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:609万
展开全部
.live()背后神奇的地方就在于它并不将事件绑定到你选定的elements上,而实际上是绑定到了DOM树的跟节点,而是在element中就像一个参数一样进行传递。
那么当你点击一个元素时,事件就会在DOM树上往上传递,直至到达根节点。这个事件的触发器已经在根节点被.live()创建。这个触发方法将首先检测被点击的目标看是否和.live()调用的选择器相匹配。如果匹配,那么绑定的方法就会执行了。
因为不管你在根节点内点击了什么,根节点的事件都会被触发,当你点击加入到根节点的任何元素时这个检查都会发生。

比如你要给一个还没有添加在页面中的id为“ABC”元素添加click事件。
实际上你要给document元素添加click事件。
并且在document的click回调函数中,判断事件源event.target。然后判断它的ID是“ABC”则执行相应的事件函数。类似这样。
摩惠然0iD
2012-09-20 · TA获得超过1634个赞
知道小有建树答主
回答量:1162
采纳率:100%
帮助的人:834万
展开全部
使用事件委托,原理在是利用元素的冒泡,只要能获取是哪种元素触发了这个事件就行了,关于这个对象可以通过event.target来获取,思路就在这了,剩下的自己去找资料吧
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式