div中的jQuery fancybox链接

我有一个包含信息的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事件。