【问题标题】:Make a jQuery element slide up if clicked anywhere outside of it如果单击其外部的任何位置,则使 jQuery 元素向上滑动
【发布时间】:2011-07-11 17:48:43
【问题描述】:

我有一个下拉菜单,当单击它外部的任何位置(以及所有它的子元素)时,我想向上滑动

我的代码似乎不起作用:(

$(document).ready(function () {
  $('*').not(".drop").click(function() {
    $('.drop').slideUp('medium', function() {
// Animation complete.
});});});

【问题讨论】:

标签: jquery


【解决方案1】:

试试这个,希望对你有帮助。

$(document).ready(function () {
  $('.drop').click(function(e){
     e.stopPropagation();
  });
  $('html').click(function() {
    var $drop = $('.drop');
    if($drop.is(":visible")) {
      $drop.slideUp('medium', function() {
        // Animation complete.
      });
    }
  });
 });

【讨论】:

  • 一个糟糕的解决方案,因为当您甚至没有检查它是否可能已经隐藏时,总是激活 slideUp() 是没有意义的。
【解决方案2】:
$(document).click(function() {
    if ($('.drop').is(':visible'))
        $('.drop').slideUp();
});

$(".drop").click(function() {
    $('.drop').slideDown();
    return false;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-25
    • 2010-10-17
    • 1970-01-01
    • 2011-04-06
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多