jquery切换单击排除子链接

时间:2012-03-24 20:00:41

标签: jquery hyperlink toggle stoppropagation

我试图在点击div或其任何第一级孩子时弹出一个框,不包括子div中的一个A标记。<​​/ p>

我只是简单地切换类来显示/隐藏效果很好的div。但是,当点击链接时,仍然弹出我不想要的框。我已经看过使用目标和停止传播,但我无法使用我的代码。

jQuery的:

jQuery(document).ready(function() {
    jQuery(".video_odd").toggle(function()
    {
    jQuery(this).children(".video_desc_box").attr('class', 'video_desc_box_open');
    },
    function(){
    jQuery(this).children(".video_desc_box_open").attr('class', 'video_desc_box');
    });
});

快速HTML概述:video_odd是一个类,当它被点击时,它将导致其子视频video_desc_box将其类切换为video_desc_box_open,这会将显示更改为内联而不是无。

我只是不明白如何使用切换来在点击链接时使该脚本无法运行,这是在video_odd中的div。

我想让它在点击任何其他孩子时更改课程,而不是第二级孩子链接。

感谢您的帮助!

编辑:我想我越来越近了:

jQuery(".video_odd").toggle(function(e)
{
if (e.target == jQuery(this).children(".video_list_title")) { return; }
jQuery(this).children(".video_desc_box").attr('class', 'video_desc_box_open');
},
function(){
jQuery(this).children(".video_desc_box_open").attr('class', 'video_desc_box');
});  

然而

(e.target == jQuery(this).children(".video_list_title"))

没有注册。我怎么能把div video_list_tit一起排除(不只是链接?)

1 个答案:

答案 0 :(得分:0)

e.target不是jQuery。

$(e.target).hasClass(&#34; video_list_title&#34;)

离得更近了!