jQuery - .slideUp()在event.stopPropagation()之后不起作用;

时间:2013-07-06 16:44:16

标签: jquery effects slideup stoppropagation

我遇到了event.stopPropagation()的问题,在我的代码中:(!当这个事件完全正常工作后放置。显示(),然而,如下所示.SlideUp()不起作用! 我真正想要的是当用户点击搜索栏和同一个主体并且聊天被隐藏时,它必须与效果slideUp()一起出现,如果我删除了stopPropagation,点击你身体聊天的搜索栏也会消失在div的事件中。

请参阅jsfiddle Here

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


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

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

谢谢!

3 个答案:

答案 0 :(得分:1)

这个很棘手。阅读:

“用滑动动作隐藏匹配的元素。”

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

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

“以滑动方式显示匹配的元素。”

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

<强> Fiddle

答案 1 :(得分:0)

你有没有使用event.stopPropagation()的具体原因?这将阻止事件冒泡..尝试event.preventDefault();

答案 2 :(得分:0)

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

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