`
yeak2001
  • 浏览: 102964 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

cross-browser event handling method

阅读更多
function document_onKeyDown(){
	if (window.attachEvent) {
		//IE and Opera, IE on keydown event need use document element
		document.attachEvent("onkeydown", receivablePanel_onKeyDown);
		return true;
	} else if (window.addEventListener) {
		window.addEventListener("keydown", receivablePanel_onKeyDown, true);
		return true;
	} else {
		document.addEventListener("keydown", receivablePanel_onKeyDown, true);
		return true;
	}
}


首先是判断用的是什么浏览器.每个浏览器都有自己的注册事件的方法.一般标准的注册方法是addEventListener;而ie采用了不标准的方法attachEvent.所以通过判断有没有这2个方法可以简单的判断出用的是IE还是标准的(FF,chrome).
PS:IE9也可以采用addEventListener的方式来注册.这是新加的
http://msdn.microsoft.com/en-us/library/ff975245(v=vs.85).aspx


然后就是需要注意下用attachEvent注册的时候event name必须写全,也就是onxxx,这个是microsoft的标准.

最后需要注意的是addEventListener的第3个参数,useCapture.
官方给出的解释是:

As to the true or false that is the last argument of addEventListener, it is meant to state whether the event handler should be executed in the capturing or in the bubbling phase. If you’re not certain whether you want capturing or bubbling, use false (bubbling).
http://www.quirksmode.org/js/events_advanced.html

如果希望handler method在冒泡中执行就传false,希望被捕获执行就用true.冒泡的意思是按照event order依次执行.这会带来一定的困惑.有的时候不需要执行的事就会去执行,譬如form的entry submit.

分享到:
评论

相关推荐

    Cross-Browser Rich Text Editor v3.13

    开发者可能会在这里解释如何在自己的项目中集成Cross-Browser Rich Text Editor,包括必要的JavaScript引用、初始化配置以及可能的自定义设置。此外,它也可能包含一些示例代码,展示如何调用编辑器API来实现特定...

    cross-env-7.0.3.zip

    《跨平台环境变量工具——cross-env详解》 在软件开发过程中,尤其是在JavaScript的世界里,由于其跨平台的特性,开发者经常需要处理不同操作系统之间的环境差异。`cross-env`是一个非常实用的npm模块,它允许你在...

    cross-env-6.0.2.zip

    《跨平台环境变量工具——cross-env详解》 在软件开发过程中,尤其是在JavaScript的世界里,由于其跨平台的特性,我们经常需要处理一个重要的问题:确保命令行中的环境变量设置在不同操作系统(如Windows、macOS和...

    cross-env-7.0.2.zip

    "cross-env"是一个在Node.js环境中管理环境变量的开源库,尤其在跨平台(Windows、Linux、MacOS)开发时非常有用。它允许开发者在不同的操作系统间设定和使用一致的环境变量,使得构建脚本无需考虑操作系统的差异。...

    cross-request-3.3.zip

    首次使用Yapi的时候,需要安装cross-request插件,请求是通过本地的cross-request插件发送出去的。解压该压缩包-->Google Chrome-->扩展程序-->加载已解压的扩展程序-->选中cross-request文件夹就可以啦

    最新的yapi 的cross-request 的离线插件

    《详解Yapi的Cross-request离线插件:打造顺畅的API接口测试体验》 在现代软件开发中,API接口测试是不可或缺的一环。为了确保系统的稳定性和数据交互的正确性,开发者需要对API进行详尽的测试。Yapi,一个优秀的...

    cross-request-3.3.0.zip

    标题 "cross-request-3.3.0.zip" 暗示了这是一个关于 "cross-request" 库的软件包,版本为3.3.0。在IT领域,"cross-request"通常指的是一个允许开发者进行跨域HTTP请求的工具,这对于前端开发、API测试以及集成测试...

    Referrer-Policy : strict-origin-when-cross-origin解决方案

    随着Web技术的发展,跨域安全问题愈发突出,"Referrer-Policy : strict-origin-when-cross-origin"便是为了解决这一问题而提出的策略。本文将深入探讨这个策略的含义、作用以及如何在实际开发中应用。 一、Referrer...

    Cross-browser-event.js:js基础事件跨浏览器兼容性

    `Cross-browser-event.js`是一个解决此类问题的库,它旨在提供一个统一的接口来处理JavaScript中的事件,确保在各种浏览器环境下的一致性。 `Cross-browser-event.js`的核心功能在于标准化事件监听、事件触发和事件...

    cross-request 3.0 Chrome 插件

    最新cross-request3.0插件下载,下载完成后解压,在Chrome中选择加载已解压的插件进行安装。

    cross-request3.0谷歌插件.zip

    【标题】"cross-request3.0谷歌插件.zip"是一个包含最新版本的cross-request3.0插件的压缩包,该插件专为谷歌浏览器(Chrome)设计。它旨在提升开发人员在API测试和调试过程中的效率,尤其与YApi接口管理工具配合...

    cross-request 3.1.0.zip

    cross-request 3.1

    Yapi3.3 Chrome 插件 cross-request3.3

    Yapi3.3 Chrome 插件 cross-request3.3

    YApi 跨域请求插件 cross-request 3.0.0

    cross-request3.0.0插件,支持chrome、火狐等浏览器,下载解压后,通过加载已解压扩张程序添加即可

    Xamarin 4.x Cross-Platform Application Development

    Write native cross-platform applications with Xamarin Design user interfaces that can be shared across Android, iOS, and Windows Phone using Xamarin.Forms Practical cross-platform development ...

    cross-request-master.zip

    cross-request YApi 跨域请求

    C# 7 and .NET Core: Modern Cross-Platform Development - Second Edition

    C# 7 and .NET Core: Modern Cross-Platform Development - Second Edition by Mark J. Price English | 24 Mar. 2017 | ASIN: B01N8UG78Q | 594 Pages | AZW3 | 23.26 MB Modern Cross-Platform Development ...

    cross-request3.0.zip

    cross-request(YApi跨域请求),用于可视化接口管理平台YApi测试后台接口的,用Chrome浏览器在YApi上测后台接口必须先安装这个扩展程序才行

    cross-request 3.1 YApi 跨域请求 谷歌浏览器

    cross-request 3.1 YApi 跨域请求 谷歌浏览器

    cross-request 插件

    YAPI插件,用于实现跨域,浏览器共享cookies

Global site tag (gtag.js) - Google Analytics