我通过使用成功加载内容
jQuery(".menu li a").click( function(event){ jQuery("#loadingArea").load(this.href) });
加载内容后,我的页面中有新元素。 我试图应用jQuery操作(当我点击或hover鼠标时执行某些操作),并且元素没有响应。
请解释为什么我无法触发通过ajax加载的内容中的事件?
方法.load()是否与此有关(即如果我使用了$ .ajax,我将能够与这些内容进行交互)?
谢谢,
.live()
是您问题的答案:
来自文档:
.live()方法能够通过使用事件委托来影响尚未添加到DOM的元素:绑定到祖先元素的处理程序负责在其后代上触发的事件。 传递给.live()的处理程序永远不会绑定到元素; 相反,.live()将一个特殊的处理程序绑定到DOM树的根。
jQuery(".menu li a").click( function(event){ jQuery("#loadingArea").load(this.href); }); jQuery("#loadingArea a").live('click', function() { /* Insert eMagic! */ });
你必须使用.live()或.delegate()
所以ajax加载的内容也被委托了
.live()
现已删除
这就是现在的方法:
$(document).on("click",".menu li a",function(e){ });
你应该为ajax加载的内容使用实时事件处理程序
$("a").live("click",function(){ // your code });
live将事件绑定到未来元素以及现有元素。
.live()
或.delegate()
会在这里帮助你。 因为新的元素在启动时不在那里,你绑定函数的那一刻就不会被应用。 通过live(),事件会冒泡,您可以将事件绑定到它
需要了解更多jQuery教程分享jQuery如何与ajax加载的内容进行交互?,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是jQuery教程分享jQuery如何与ajax加载的内容进行交互?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/982260.html