1

我试图在单击 div 或其任何一级子级时弹出一个框,不包括子 div 中的一个 A 标签。

我只是切换类来显示/隐藏效果很好的 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 是一个类,当它被单击时,它会导致其子 div 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_title 一起(不仅仅是链接?)

4

1 回答 1

0

e.target 不是 jQuery。

$(e.target).hasClass("video_list_title")

是更近了!

于 2012-03-24T21:07:25.063 回答