0

我的代码中的 event.stopPropagation() 有问题:(!当放置。Show() 在此事件之后完美运行,但是,正如放置的那样。SlideUp() 不起作用!我真正想要的是当用户单击时搜索栏和body聊天一样是隐藏的,必须出现slideUp()的效果,如果我去掉stopPropagation,点击搜索栏的body chat也会消失,因为这个div的事件内。

在这里查看 jsfiddle

$(".chatHeader").on('click', function() {
       $('.chatBody').slideToggle();
    });


    $('#searchText').click(function(e) {
      event.stopPropagation();    
      $('.chatBody').show();
        // $('.chatBody').slideUp(); not works
    });

谁能帮助我,我将非常感谢您投入的时间!

谢谢!

4

3 回答 3

1

这个很棘手。阅读:

“通过滑动隐藏匹配的元素。”

这取自 slideUp 的 jquery 文档:http: //api.jquery.com/slideUp/

换句话说,slideDown()如果要显示窗口,则需要使用。

“通过滑动显示匹配的元素。”

http://api.jquery.com/slideDown/

小提琴

于 2013-07-06T17:01:00.670 回答
0

您使用 event.stopPropagation() 有什么具体原因吗?这会阻止事件冒泡。尝试 event.preventDefault();

于 2013-07-06T16:55:19.167 回答
0

尝试

$(".chatHeader").not('#searchText').on('click', function() { ...

我看到了 slideUp 和 slideToggle 之间的冲突

于 2013-07-06T16:56:32.520 回答