Javascript事件热键兼容ie|firefox
<textarea onkeydown="keyHanlder(event)">
</textarea>
<script>
function keyHanlder(e){
if(e.ctrlKey&&e.keyCode==13){
alert('"Ctrl+Enter"');
if(e.preventDefault)e.preventDefault();
else e.returnValue=false;
}
}
</script>
非IE浏览器调用函数会自动返回参数event,通过它可以获取键盘
代码如下:
<SCRIPT LANGUAGE="JavaScript">
<!--
function hotkey(e)
{
//判断浏览器
var ex = navigator.appName;
var a = ex=='Microsoft Internet Explorer'? window.event.keyCode : e.which;
alert(a);
switch(a){
case 83:
window.open('Myhomepage/search.htm','show')
break;
case 70:
window.open('Myhomepage/favorite.htm','show')
break;
}
}// end hotkey
document.onkeydown = hotkey; //当onkeydown 事件发生时调用hotkey函数
//-->
</SCRIPT>
相关推荐
-
javascript 兼容各个浏览器的事件
调用事件: 事件对象 什么是事件对象?在触发dom上的事件是都会产生一个事件对象event.例如鼠标点击的时候,自己就会产生比如点击的类型啊 还要那个元素发出的 dom 事件对象 type 属性用于获取事件对象, target属性 用于获取事件目标,stopPropagation()方法 阻止事件冒泡 preventDefault阻止事件的默认行为 IE中的事件对象 type 属性 用于获取事件对象, srcElement属性 用于获取事件目标 cancelBubble属性 用于阻止事件
-
javascript在事件监听方面的兼容性小结
1,IE使用attachEvent/detachEvent方法来添加和删除事件监听器:w3c使用addEventListener/removeEventListener方法. 2,IE对其事件使用onevent的命名方式,而w3c的是event的命名方式. 3,IE事件监听器内使用的是一个全局的Event对象,而w3c是将event对象作为参数传递给监听器. 4,为了避免触发默认的事件行为,IE的做法是要求程序员设置Event对象中的returnValue属性值为false,而w3c的做法是执行
-
javascript 兼容鼠标滚轮事件
这个事件在标准下和IE下是有区别的.firefox是按标准实现的,事件名为"DOMMouseScroll ",IE下采用的则是"mousewheel ".当然一行代码就解决了兼容问题 复制代码 代码如下: var mousewheel = document.all?"mousewheel":"DOMMouseScroll"; 事件属性,IE是event.wheelDelta,Firefox是event.detail 属性的方向
-
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
废话少说,代码上来: 复制代码 代码如下: document.onkeydown=function() { var EventUtil = {}; EventUtil.getEvent = function(){ if(window.event){return window.event;} else{return EventUtil.getEvent.caller.arguments[0];} } var button = document.getElementById("qw");
-
javascript 处理事件绑定的一些兼容写法
绑定事件 复制代码 代码如下: var addEvent = function( obj, type, fn ) { if (obj.addEventListener) obj.addEventListener( type, fn, false ); else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj.attachEvent( "on"+type, function() { obj["e"
-
javascript option onclick事件ie解决方案 兼容ie,firefox
select-option onclick function simOptionClick4IE(){ var evt=window.event ; var selectObj=evt?evt.srcElement:null; // IE Only if (evt && selectObj && evt.offsetY && evt.button!=2 && (evt.offsetY > selectObj.offsetHeight |
-
JavaScript 事件监听实例代码[兼容IE,firefox] 含注释
JavaScript事件监听完整实例(含注释) var oEventUtil = new Object(); oEventUtil.AddEventHandler = function(oTarget,sEventType,fnHandler) { //IE和FF的兼容性处理 //如果是FF if(oTarget.addEventListener){ oTarget.addEventListener(sEventType,fnHandler,false); } //如果是IE else if(o
-
IE8的JavaScript点击事件(onclick)不兼容的解决方法
博客园闪存分页是用JavaScript生成的,今天发现在IE8下点击页码不能翻页,翻页操作是在当前页码的onclick事件中进行的. 开始代码是这么写的: 复制代码 代码如下: var a = document.createElement("a");a.setAttribute("onclick", this.ClickFunctionName + "(" + pageIndex + ");Pager.SetCurrent("
-
javascript浏览器兼容教程之事件处理
1. window.event [分析说明]先看一段代码 复制代码 代码如下: function et(){ alert(event);//IE: [object]} 以上代码在IE运行的结果是[object],而在Firefox无法运行. 因为在IE中event作为window对象的一个属性可以直接使用,但是在Firefox中却使用了W3C的模型,它是通过传参的方法来传播事件的,也就是说你需要为你的函数提供一个事件响应的接口. [兼容处理]添加对event判断,根据浏览器的不同来得到正确的ev
-
javascript 按键事件(兼容各浏览器)
第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown.onkeypress和onkeyup这三个事件句柄.一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键释放时候的keyup. 在这3种事件类型中,keydown和keyup比较底层,而keypress比较高级.这里所谓的高级是指,当用户按下shift + 1时,keypress是对这个按键事件进行解析后
-
Javascript 模拟点击事件(点击链接与html点击) 兼容IE/Firefox
一把情况下模拟点击一般两个方面,模拟点击超级连接事件firefox的兼容的函数为对HTMLAnchorElement 加入onclick事件 复制代码 代码如下: try { // create a element so that HTMLAnchorElement is accessible document.createElement('a'); HTMLElement.prototype.click = function () { if (typeof this.onclick == 'f
随机推荐
- 命令行实现MAC与IP地址绑定 ip mac绑定 如何绑定mac地址
- Python2.x中str与unicode相关问题的解决方法
- 详解docker强制批量删除none的image镜像
- CentOS下Redis数据库的基本安装与配置教程
- Oracle 插入超4000字节的CLOB字段的处理方法
- php实现评论回复删除功能
- Android中Fragment的生命周期与返回栈的管理
- Android编程实现为ListView创建上下文菜单(ContextMenu)的方法
- 基于JQuery的一个简单的鼠标跟随提示效果
- jquery设置按钮停顿3秒不可用
- js操作checkbox遇到的问题解决
- 活用大师和兔子 系统更快更安全
- 收藏的迅雷下载图文教程
- 远程桌面一连就断的解决方法(经常掉线)
- 使用GDB调试多线程实例详解
- 解决Eclipse启动出错:Failed to create the Java Virtual Machine
- C++循环队列实现模型
- Java基于栈方式解决汉诺塔问题实例【递归与非递归算法】
- Linux入侵常用命令之防黑客示例代码
- C#在Winform开发中使用Grid++报表