`

js中onkeydown事件,兼容IE和FF

阅读更多

概念

onkeypress、onkeyup、onkeydown区别:

     onkeypress 这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。

     onkeyup 这个事件在用户放开任何先前按下的键盘键时发生。

     onkeydown 这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。

 

解决onkeydown在IE和FF中的兼容问题
IE浏览器中:

var keycode = event.keyCode;

FireFox和Opera浏览器中:

var keycode = e.which;

总结简便写法如下:

var currKey=0,e=e||event; currKey=e.keyCode||e.which||e.charCode;//支持IE、FF

完整demo如下:

<button type="button" onclick="searchAuction();" id="btn_selector">   <label>精确筛选</label> </button> <script type="text/javascript">

       function keydown(e) {

       var currKey=0,e=e||event; currKey=e.keyCode||e.which||e.charCode;//支持IE、FF

       if (currKey == 13) {

         document.getElementById("btn_selector").click();   

       }

}

document.onkeydown = keydown;//onkeydown事件调用方式 </script>

 

写法一、触发submit事件,支持IE

<form onkeydown="checkkey(event)"> function checkkey(keys) //上一段中介绍的event所携带的值传给了keys { if(keys.ctrlKey && keys.keyCode == 13){//判断一下是否同时按了CTRL键和ENTER键. this.document.form.submit(); } //如果判断的结果确实是两个键准确无误的按下了,那么就提交数据 }

说明:event是将这次按键的值传递给函数作判断用的。也就是说event里面承载着我们这次按键的数据。
写法二、触发click事件,支持IE

<body onkeydown="if (event.keyCode==13) {document.all.button2.click();}">

写法三、按键翻页效果,支持IE

<script type="text/javascript">
var preview_page = "14671.html";
var next_page = "14675.html";
var index_page = "index.html";
var article_id = "305";
var chapter_id = "14674";
function jumpPage() {
if (event.keyCode==37)
location=preview_page;
if (event.keyCode==39)
location=next_page;
if (event.keyCode==13)
location=index_page;
}
document.onkeydown=jumpPage;
</script>
//<script>
//qidian prevpage='1006900,20124741.aspx';
//nextpage='1006900,20124757.aspx';
//bookpage='/Book/1006900.aspx'
//var prevpage; var nextpage; var bookpage;
//function pageEvent(event) { event = event ? event : (window.event ? window.event : null);
//if (event.keyCode==13) { location=bookpage return false; }
//if (event.keyCode==37) location=prevpage
//if (event.keyCode==39) location=nextpage }
//document.onkeydown=pageEvent; </script>

分享到:
评论

相关推荐

    下拉框可输入+自动提示+支持键盘事件兼容IE,FF

    标题 "下拉框可输入+自动提示+支持键盘事件兼容IE,FF" 指的是一种前端开发技术,用于创建具有智能搜索和自动提示功能的下拉选择框。这种技术通常应用于网页表单中,提高用户输入数据的效率和体验。在描述中提到的 ...

    js文本框输入点回车触发确定兼容IE、FF等

    示例代码中的事件绑定方式旨在兼容旧版本的Internet Explorer (IE) 和 Firefox (FF) 浏览器。 3. 键盘事件对象:在JavaScript事件处理函数中,可以通过事件对象访问到触发事件的详细信息。例如,在onkeypress事件中...

    文本框中,回车键触发事件的js代码[多浏览器兼容]

    判断是否按下的为回车非常简单: 代码如下: function EnterPress(){ if(event.keyCode == 13){ … } } IE6的onkeypress会接受”回车事件”,... 但是,到了FF下面,又会出现矛盾.FF是onkeypress和onkeydown都接受”回车事件

    JSP中用回车监听按钮事件兼容火狐 IE等主流浏览器

    总结起来,本文主要讨论了如何在JSP中使用JavaScript实现回车键监听按钮事件的跨浏览器兼容性,同时也涉及到了Java中各种类型的监听器、过滤器和拦截器等概念,以及与之相关的GUI事件监听和网络数据包监听等技术。...

    js事件大全.docx

    需要注意的是,不同的浏览器对某些事件的支持可能存在差异,如文档中提到的FF(Firefox)、N(Netscape)和IE(Internet Explorer),开发者在编写代码时应考虑兼容性问题,以确保在各种环境下都能正常运行。

    JS在IE和FireFox之间常用函数的区别小结

    在IE中,事件对象的源元素属性是`srcElement`,而在Firefox和其他遵循W3C标准的浏览器中,这个属性是`target`。为了确保兼容性,可以使用如下代码: ```javascript var obj = e.srcElement ? e.srcElement : e....

    javascript 使用技巧

    通过CSS和JavaScript结合,可以实现在链接上移除状态栏提示: ```html a { evt: expression(window.status=''); } &lt;a href="http://ywicc.com"&gt;nostatusinformation ``` #### 27. 同时执行两个事件 尽管示例...

    Javascript特效代码大全

    根据提供的文件信息,我们可以归纳出一系列与JavaScript特效相关的知识点,这些知识主要集中在页面元素操作、用户交互、浏览器兼容性处理等方面。下面是详细的知识点解析: ### JavaScript特效代码大全概述 在网页...

    网页制作常用的小技巧

    这种方式可以提供更好的兼容性和用户体验。 #### 11. 显示源代码链接 可以通过创建一个按钮,当点击时,显示当前页面的源代码。 ```html 查看源代码" onclick="javascript: location.href='view-source:' + ...

Global site tag (gtag.js) - Google Analytics