我有一个包含信息的div。 在div周围我有一个’a’标签,这样当用户点击div周围的任何地方时,就会打开花式框。
然而在div我和其他链接里面,当点击而不是打开花式框时,它删除了整个div。 我在click事件中使用return false来进行删除工作。
我现在不得不在点击中添加.live,因为新创建的elemnet没有获得点击事件。
从那以后,当我点击删除链接时,div会删除,但也会打开花式框。
谢谢你的帮助。
$(".listContent").live('mouseenter', function(){ $(this).fancybox({ 'type':'ajax', }); }); $("div.removeCompare").live("click", function() { $(this).parents(".listingContainer").remove(); return false; });
DIV
更新: 此代码应该最有效。
$(".listContent").live('click', function(e) { e.preventDefault(); $(this).fancybox({ 'type': 'ajax' }); console.log('inside fancybox creator'); }); $("div.removeCompare").live('mousedown', function(e) { e.stopPropagation(); console.log('inside remove'); $(this).parents(".listingContainer").remove(); });
我认为你的问题在于event propagation
– 当你点击一个子元素时,父母的相关事件也会激活。 所以e.stopPropagation()
会阻止它。
在div的click事件函数内,使用.die(’mouseenter’)事件处理程序取消绑定语法解除内部元素(打开fancybox)的mouseenter事件。
以上就是jQuery教程分享div中的jQuery fancybox链接相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/547461.html