javascript - Jquery 单击可见元素处理程序之一

标签 javascript jquery html

当我的模态窗口可见时,当我单击#screen或#loading_modal时,我需要隐藏这个div,但是我该如何做到这一点,以及如何正确编写它,现在我的代码无法工作,而且我对两个对象(#screen,#loading_modal)有相同的...我是 js 新手,如何重构此代码,并使其正常工作...?

  if ($('#screen').is(':visible')) {
    $("#screen").click(function() {    
      $('#screen').hide();
      $('#loading_modal').hide();  
    });
     $("#loading_modal").click(function() {    
      $('#screen').hide();
      $('#loading_modal').hide();  
    });
  } 

最佳答案

这里不需要if语句,您可以简单地使用:

$('element:visible').click(function() { ... })

所以:

$("#screen:visible").click(function() {    
    $(this).hide();
    $('#loading_modal').hide();  
});
 $("#loading_modal:visible").click(function() {    
    $('#screen').hide();
    $(this).hide();  
});

如果这些函数要执行相同的任务,您只需使用:

$("#screen:visible, #loading_modal:visible").click(function() {    
    $('#screen').hide();
    $('#loading_modal').hide();  
});

关于javascript - Jquery 单击可见元素处理程序之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342399/

相关文章:

javascript - 高度自动在左侧菜单中不起作用

javascript - 如何同时创建ajax请求和背景动画

javascript - 背景图像不透明度问题

javascript - 如何在 jQuery 中读取 JSON 数组

html - Bootstrap : how to align and center buttons at the bottom of equal-height columns

html - 如何在 Bootstrap 3 的网格内对齐(上、下、右、左)内容

javascript - 如何使用 jQuery 将 2 个 .Each() 列表组合成一个数组

javascript - AJAX 仅加载和返回有限数量的对象

jquery - jQuery/iframe 文件上传解决方案的问题

jquery count select 下拉列表未禁用且已选择特定选项