考虑以下:
something inside the header
如何才能使用户点击跨度时,它不会触发div
点击事件?
使用event.stopPropagation().
something inside the header
对于IE: window.event.cancelBubble = true
something inside the header
有两种方法可以从函数内部获取事件对象:
第一个参数,符合W3C标准的浏览器(Chrome,Firefox,Safari,IE9 +)
Internet Explorer中的window.event对象(<= 8)
如果您需要支持不遵循W3C建议的旧版浏览器,通常在函数内部使用以下内容:
function(e) { var event = e || window.event; [...]; }
这将检查第一个,然后另一个并存储在事件变量中找到的任何一个.但是在内联事件处理程序中没有e
要使用的对象.在这种情况下,您必须利用arguments
始终可用的集合并引用传递给函数的完整参数集:
onclick="var event = arguments[0] || window.event; [...]"
但是,一般来说,如果你需要处理像停止传播这样复杂的事情,你应该避免使用内联事件处理程序.分别编写事件处理程序并将它们附加到元素是中长期更好的想法,无论是为了可读性还是可维护性.
请记住,FireFox不支持window.event,因此它必须是以下内容:
e.cancelBubble = true
或者,您可以使用FireFox的W3C标准:
e.stopPropagation();
如果你想获得幻想,你可以这样做:
function myEventHandler(e) { if (!e) e = window.event; //IE9 & Other Browsers if (e.stopPropagation) { e.stopPropagation(); } //IE8 and Lower else { e.cancelBubble = true; } }
使用此功能,它将测试是否存在正确的方法.
function disabledEventPropagation(event) { if (event.stopPropagation){ event.stopPropagation(); } else if(window.event){ window.event.cancelBubble=true; } }
我有同样的问题 - IE中的js错误框 - 就我所见,这在所有浏览器中都能正常工作(event.cancelBubble = true可以在IE中完成工作)
onClick="if(event.stopPropagation){event.stopPropagation();}event.cancelBubble=true;"
这对我有用
Something inside the other div
对于ASP.NET网页(不是MVC),您可以使用Sys.UI.DomEvent
object作为本机事件的包装器.
或者,将事件作为参数传递给内部函数:
在某些功能:
function someFunction(event){ event.stopPropagation(); // here Sys.UI.DomEvent.stopPropagation() method is used // other onclick logic }
8> ajh1138..:根据这个页面,在IE中你需要:
event.cancelBubble = true
推荐阅读
如何解决《不能将字符串数组声明为类成员》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在matlab中运行矩阵的均值》经验,为你挑选了1个好方法。 ... [详细] 如何解决《警告"使用构建变体包中的属性"是什么意思?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《使用相同的配置部署多个ContentDeliveryServer》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Hamcrest匹配器比较JSON的双值》经验,为你挑选了0个好方法。 ... [详细] 如何解决《d3.select.style没有在firefox上工作》经验,为你挑选了1个好方法。 ... [详细] 如何解决《单击动态生成的跨度》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Playframework2.4:NoClassDefFoundError:play/api/cache/CachePlugin》经验,为你挑选了0个好方法。 ... [详细] 如何解决《为什么nullptr_t不是关键字》经验,为你挑选了1个好方法。 ... [详细] 如何解决《C#:为什么x的最终值与for循环外的值不同?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《使用Laravel5.1和VueJS的TokenMismatchException》经验,为你挑选了1个好方法。 ... [详细] 如何解决《使用Webpack通过NPM包含ZurbFoundation》经验,为你挑选了1个好方法。 ... [详细] 如何解决《什么是在矩阵中找到M个相邻元素的最大总和的最快方法》经验,为你挑选了0个好方法。 ... [详细] 如何解决《SQL语法和OR子句问题》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何重载用于枚举的模板函数?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《是时候将排序列表合并到单个排序列表中?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何使用regexp匹配任何重复的字符?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在API自动化测试中使用BDD是一个好方法吗?》经验,为你挑选了1个好方法。 ... [详细] 吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1如何在PHP中将多个值从视图传递到控制器
- 2C中的getlocale()函数
- 3Mongoose - 无法在快速路线中检索虚拟场
- 4git stash drop最旧的存储(例如最旧的5个存储)
- 5强类型的url动作
- 6如何将图像上传到RStudio Notebook?
- 7使用React Router强制执行scrollToTop行为
- 8在mac os el capitan上安装make mysql
- 9std :: thread构造函数传递指针和传递ref之间有区别吗?
- 10通过Bash删除FreeBSD上除X最旧目录之外的所有目录(没有-printf,带空格,没有zsh)
- 11低频通话的Bigtable扫描/获取响应时间(等待时间)非常高
- 12在Android Studio中清理项目与重建项目与运行项目
- 13如何使用Web推送通知远程关闭通知?
- 14由于引用C#MVC控制器中的成员时的保护级别,对象无法访问
- 15C#切换类型
- 16FFmpeg错误:ratecontrol_init:无法打开stats文件
- 17从pouchdb数据库中读取关系的最有效方法是什么
- 18使用jQuery将图片从一个div添加到另一个div
- 19你如何运行尚未写入文件的RSpec :: ExampleGroup?
- 20在Haskell中实现一种语言:同源列表
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有