博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
点击div和某些控件之外的地方隐藏div,点击div不隐藏。对象 click和document click冲突有关问题...
阅读量:6020 次
发布时间:2019-06-20

本文共 1954 字,大约阅读时间需要 6 分钟。

帮朋友解决这个问题,我发现用以往想想像的方式来实现,貌似不太可行,所以从网上找了一些解决办法,进行优化,这篇比较详细,所以拿来备忘,另一方面也希望可以帮助需要的同学!

问题背景:事件问题!!对象 click和document click冲突问题

我想点击某个元素显示一个对象, 点击页面任意处,隐藏这个对象   

//点击look对象,显示隐藏mydiv
 $("#look").bind("click", function () {
    
  $("#mydiv").toggle();
    
  })
//点击任意地方,隐藏显示的mydiv
  $(document).bind("click", function () {
    
  if ($("#mydiv").css("display") == "block") {
  $("#mydiv").hide();
  }
  })
这样两个事件冲突了,点击look对象,不会显示mydiv
------解决方案--------------------
防止点击事件冒泡 return false; 
------解决方案--------------------
不是冲突。。是冒泡了,,
$("#look").bind("click", function (e) {
  
$("#mydiv").toggle();
e.stopPropagation
})
试试 
------解决方案--------------------

$("#look").bind("click", function () {      $("#mydiv").toggle();    return false;  }) ------解决方案--------------------
$(document).bind("click", function (e) {    if ($(e.target).is('#test')) return;    else{         if ($("#mydiv").css("display") == "block") {             $("#mydiv").hide();        }    }  }) ------解决方案-------------------- e.stopPropagation 是这个 ------解决方案--------------------
探讨
$(document).bind("click", function (e) {if ($(e.target).is('#test')) return;else{ if ($("#mydiv").css("display") == "block") {$("#mydiv").hide();
$(e.target).is('#test')主要是确定点击哪个目标,点击这个目标后不隐藏,点击其他就隐藏。 为了保证点击这个div里面的控件不隐藏,可以设置$(e.target.parents()).is('#test')。保证点击某个div里面的东西也不隐藏。
……
------解决方案--------------------
$("#look").bind("click", function () {    $("#mydiv").toggle();  event.stopPropagation();  }) ------解决方案--------------------
探讨
JScript code
$("#look").bind("click", function (event) {
$("#mydiv").toggle();
event.stopPropagation();
})
------解决方案-------------------- return false就好了.
click

If you click on me, I will disappear.

------解决方案--------------------
$(function(){$("#look").click(function (e) {        $("#mydiv").show();     return false;     });//点击任意地方,隐藏显示的mydiv  $(document).click(function () {         $("#mydiv").hide();  });}); 转自:http://blog.csdn.net/xudanna/article/details/51818992
你可能感兴趣的文章
VS2012初体验
查看>>
ftplib 实例
查看>>
声明了变量并赋了初始值,但在VS中报当前上下文中不存在名称“ XXX”的错误...
查看>>
实战 SQL Server 2008 数据库误删除数据的恢复 (转)
查看>>
Eyes On Me
查看>>
浅谈监听器与过滤器
查看>>
jQuery复制节点
查看>>
Piggydb 6.2 发布,个人知识库管理
查看>>
拓扑排序
查看>>
Sharepoint2013中文版的安装体验
查看>>
js字符串转日期格式
查看>>
浮点数精度的转换
查看>>
jquery 判断是否已经绑定click事件
查看>>
zipalign优化APK
查看>>
[译]因扩展Object.prototype而引发Object.defineProperty不可用的一个问题
查看>>
WPF自定义命令
查看>>
关于在窗口消息处理函数中使用MessageBox造成消息重入的问题的研究及解决
查看>>
爱上MVC3系列~手动向路由表扔数据,不影响当前URL路由配对
查看>>
bootstrap源码学习与示例:bootstrap-popover
查看>>
碰到MySQL无法启动1067错误问题
查看>>