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

问题背景:jQuery事件问题!!对象 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
})

试试 
------解决方案--------------------

JScript code
$("#look").bind("click", function () {

  $("#mydiv").toggle();
return false;
})

------解决方案--------------------
HTML code
$(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里面的东西也不隐藏。

……

------解决方案--------------------
JScript code
$("#look").bind("click", function () {
$("#mydiv").toggle();
event.stopPropagation();
})

------解决方案--------------------

探讨

JScript code

$("#look").bind("click", function (event) {
$("#mydiv").toggle();
event.stopPropagation();
})

------解决方案--------------------
return false就好了.
JScript code
<html>

<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
}); $("#look").bind("click", function () { $("#mydiv").toggle();
return false; })
//点击任意地方,隐藏显示的mydiv $(document).bind("click", function () { if ($("#mydiv").css("display") == "block") {
$("#mydiv").hide();
} })
});
</script>
</head> <body>
<div id='look'>
click
</div>
<div id="mydiv">
<p>If you click on me, I will disappear.</p>
</div>
</body> </html>

------解决方案--------------------
JScript code
$(function(){
$("#look").click(function (e) {
$("#mydiv").show();
return false;
});
//点击任意地方,隐藏显示的mydiv
$(document).click(function () {
$("#mydiv").hide();
});
}); 转自:http://blog.csdn.net/xudanna/article/details/51818992

点击div和某些控件之外的地方隐藏div,点击div不隐藏。对象 click和document click冲突有关问题的更多相关文章

  1. java Swing 如何添加点击可展开菜单控件( JMenuBar如何使用?)

    准备: JMenuBar  点击可展开控件本体 JMenu 点击可展开控件中的一级菜单 JMenuItem 点击可展开控件中的二级菜单 JFrame 程序运行时弹出的那个框框 这是一个使用点击可展开菜 ...

  2. ListView中的Item点击事件和子控件的冲突或者item点击没有反应的解决的方法

    fragment中加入了button和checkbox这些控件.此时这些子控件会将焦点获取到.所以经常当点击item时变化的是子控件.item本身的点击没有响应. 这时候就能够使用descendant ...

  3. 点击CheckBox让Gridview控件在编辑与正常状态之间切换

    昨晚快休息时,还有一位网友咨询Insus.NET,他想在开发时,实现一个小功能,就是想让用户在点击Gridview控件第一列的CheckBox之后,GridView进入编辑状态,取消选中的CheckB ...

  4. H5实现多图片预览上传,可点击可拖拽控件介绍

    版权声明:欢迎转载,请注明出处:http://blog.csdn.net/weixin_36380516 在做图片上传时发现一个蛮好用的控件,支持多张图片同时上传,可以点击选择图片,也可以将图片拖拽到 ...

  5. 关于gridview改变行内容事件需要点击别的行或控件才能执行

    一般的datagridview控件: this.dgvAssetList.CurrentCell = null;//取消datagridview行的编辑状态 Dev gridcontrol控件  Gr ...

  6. 《纵向切入ASP.NET 3.5控件和组件开发技术》笔记:高效率事件集合对象

    在之前讲的几个例子中,使用的是最普通的定义事件方法,比如KingTextBox中事件是这样定义的:/// <summary>/// 获得本书更多内容,请看:/// http://blog. ...

  7. js给div动态添加控件,然后给这个控件动态添加事件

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...

  8. 关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam.

    问题:公司用的腾讯问卷系统,内嵌在我们应用或游戏的自定义UIWebView里面展示,发现在iOS 10 以下系统,点击圆形勾选框 会大概率出现闪退. 通过联调发现:报了这样一个警告Applicatio ...

  9. 点击Textbox 给日历控件赋值

    1.前台代码: <asp:TextBox ID="TextBox1" runat="server" onfocus="return show() ...

随机推荐

  1. [bzoj1015](JSOI2008)星球大战 starwar(离线+并查集)

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武 器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...

  2. 提示框框架KVNProgress介绍

    gitHub上面有很多显示加载进度的框架,这里我们介绍一下KVNProgress框架,KVNProgress是一个可以完全定制的HUD(指示器),你可以设置加载进度的画面是否全屏,可以自己修改进度显示 ...

  3. JS 中对变量类型的判断

    总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toStri ...

  4. Vue2.0实现双向绑定的原理

    一.几种实现双向绑定的做法 目前几种主流的mvc(vm)框架都实现了单向数据绑定,而我所理解的双向数据绑定无非就是在单向绑定的基础上给可输入元素(input.textare等)添加了change(in ...

  5. 3DShader之法线贴图(normal mapping)

    凹凸贴图(bump mapping)实现的技术有几种,normal mapping属于其中的一种,这里实现在物体的坐标系空间中实现的,国际惯例,上图先: 好了讲下原理 可以根据高度图生成法线量图,生成 ...

  6. 搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法

    转自http://kkworms.blog.51cto.com/540865/558477 今天在windows server 2008 R2上安装了FTP,安装过程如下,然后添加内置防火墙设置,设置 ...

  7. git hub的GUI软件配置与使用

    1. 安装两个软件 1. git的命令行程序--git for windows:http://git-scm.com/download/win 2. git的GUI程序--tortoisegit:ht ...

  8. UTC 转本地时间

    String dateStr = "Wed Dec 10 00:00:00 UTC 0800 2014"; //Wed Dec 10 00:00:00 UTC 0800 2014 ...

  9. go语言基础之闭包的特点

    所谓闭包就是一个函数“捕获”了和它在同一作用域的其它常量和变量.这就意味着当闭包被调用的时候,不管在程序什么地方调用,闭包能够使用这些常量或者变量.它不关心这些捕获了的变量和常量是否已经超出了作用域, ...

  10. JSP学习笔记(一):JSP语法和指令

    一.语法 1.脚本程序的语法格式: 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. <% 代码片段 %> 2.中文编码问题 如果我们要在页面正常显 ...