点击div和某些控件之外的地方隐藏div,点击div不隐藏。对象 click和document click冲突有关问题
帮朋友解决这个问题,我发现用以往想想像的方式来实现,貌似不太可行,所以从网上找了一些解决办法,进行优化,这篇比较详细,所以拿来备忘,另一方面也希望可以帮助需要的同学!
问题背景: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冲突有关问题的更多相关文章
- java Swing 如何添加点击可展开菜单控件( JMenuBar如何使用?)
准备: JMenuBar 点击可展开控件本体 JMenu 点击可展开控件中的一级菜单 JMenuItem 点击可展开控件中的二级菜单 JFrame 程序运行时弹出的那个框框 这是一个使用点击可展开菜 ...
- ListView中的Item点击事件和子控件的冲突或者item点击没有反应的解决的方法
fragment中加入了button和checkbox这些控件.此时这些子控件会将焦点获取到.所以经常当点击item时变化的是子控件.item本身的点击没有响应. 这时候就能够使用descendant ...
- 点击CheckBox让Gridview控件在编辑与正常状态之间切换
昨晚快休息时,还有一位网友咨询Insus.NET,他想在开发时,实现一个小功能,就是想让用户在点击Gridview控件第一列的CheckBox之后,GridView进入编辑状态,取消选中的CheckB ...
- H5实现多图片预览上传,可点击可拖拽控件介绍
版权声明:欢迎转载,请注明出处:http://blog.csdn.net/weixin_36380516 在做图片上传时发现一个蛮好用的控件,支持多张图片同时上传,可以点击选择图片,也可以将图片拖拽到 ...
- 关于gridview改变行内容事件需要点击别的行或控件才能执行
一般的datagridview控件: this.dgvAssetList.CurrentCell = null;//取消datagridview行的编辑状态 Dev gridcontrol控件 Gr ...
- 《纵向切入ASP.NET 3.5控件和组件开发技术》笔记:高效率事件集合对象
在之前讲的几个例子中,使用的是最普通的定义事件方法,比如KingTextBox中事件是这样定义的:/// <summary>/// 获得本书更多内容,请看:/// http://blog. ...
- js给div动态添加控件,然后给这个控件动态添加事件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- 关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam.
问题:公司用的腾讯问卷系统,内嵌在我们应用或游戏的自定义UIWebView里面展示,发现在iOS 10 以下系统,点击圆形勾选框 会大概率出现闪退. 通过联调发现:报了这样一个警告Applicatio ...
- 点击Textbox 给日历控件赋值
1.前台代码: <asp:TextBox ID="TextBox1" runat="server" onfocus="return show() ...
随机推荐
- Codeforces Round #300 A. Cutting Banner 水题
A. Cutting Banner Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/538/pro ...
- 使用 dsc_extractor 导出 dyld_shared_cache_arm64
iOS系统的全部Framework二进制被打包成一个cache文件,位于 /System/Library/Caches/com.apple.dyld 目录下,我们要想查看某个系统库的二进制需要将 dy ...
- iOS开发经验总结——基础工程
iOS开发经验总结--依赖库 这篇博客,我想说一下开发中经常遇到的一个问题,虚拟个场景描述一下的话,应该是这样的. 项目经理:今天我们正式开始一个新项目,iOSer你负责把苹果端的APP完成,有没有问 ...
- Ubuntu 16.04安装Wine版的微信(deepin-wechat)
说明: 1.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 2.关于没有.wine文件夹的解决方法:在命令行上运行winecfg: 3.有可能在今 ...
- Ext.form.ComboBox常用属性详解
Ext.form.ComboBox常用属性详解 标签: Extjs js combo js 代码 var combo = new Ext.form.ComboBox({ store : new Ext ...
- TPS61175/TPS55340 3A/5A、40V 电流模式集成 FET 升压 DC/DC 转换器
集成型5A 40V 宽输入范围升压/单端初级电感转换器(SEPIC) / 反激式(Flyback) 直流到直流稳压器 (Rev. B) 描述 TPS55340 是一款单片非同步开关稳压器,此稳压器带有 ...
- Coreseek:区段查询及增量索引取代实时索引
1.区段查询 索引系统须要通过主查询来获取所有的文档信息,一种简单的实现是将整个表的数据读入内存,可是这可能导致整个表被锁定并使得其它操作被阻止(比如:在MyISAM格式上的INSERT操作),同一时 ...
- linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
转载: 在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或 替换那些符合某个模式的文本内容.许多程序设计语 ...
- OpenSSL再曝CCS注入漏洞-心伤未愈又成筛子
太戏剧了,昨晚看了佳片有约,还不错,2012版的<完美回顾>,像我这样的人依旧选择用电视或者去影院看电影,在没有中间插播广告的时候,体验憋尿得过程中,总是能突然有非常多的想法,这是用电脑或 ...
- golang日期时间格式format()
format()函数格式化字符串,用了语句time.now().format(“2015-11-12 12:00:00”),结果输出结果就是不能达到理想的结果,然后把golang文档中的”2006-0 ...