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

判断是否按下的为回车非常简单:

复制代码 代码如下:

function EnterPress(){
if(event.keyCode == 13){
...
}
}

IE6的onkeypress会接受"回车事件",而onkeydown不会接受
IE8的onkeypress不会接受"回车事件",而onkeydown会接受
...不用纠结于此,两个都写上吧

复制代码 代码如下:

<input type="text" onkeypress="EnterPress()" onkeydown="EnterPress()" />

但是,到了FF下面,又会出现矛盾.FF是onkeypress和onkeydown都接受"回车事件"的.
同时,为了兼容FF下面能获得event,需要这样写:

复制代码 代码如下:

function EnterPress(e){ //传入 event
var e = e || window.event;
if(e.keyCode == 13){
...
}
}

那么,只要给任意的一个事件内传参数 event,另外一个不传参数,即可以让FF只执行一次了:

复制代码 代码如下:

&<input type="text" onkeypress="EnterPress(event)" onkeydown="EnterPress()" />

综上,兼容IE和FF:

复制代码 代码如下:

<head>
<script>
function EnterPress(e){ //传入 event
var e = e || window.event;
if(e.keyCode == 13){
document.getElementById("txtAdd").focus();
}
}
</script>
</head>
<body>
<input type="text" id="txtName" onkeypress="EnterPress(event)" onkeydown="EnterPress()" />
<input type="text" id="txtAdd" />
</body>

--by:泡沫的幻想

时间: 2024-08-02 20:50:15

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

浏览器脚本兼容 文本框中,回车键触发事件的兼容_javascript技巧

判断是否按下的为回车非常简单: 复制代码 代码如下: function EnterPress(){ if(event.keycode == 13){ ... } } IE6的onkeypress会接受"回车事件",而onkeydown不会接受 IE8的onkeypress不会接受"回车事件",而onkeydown会接受 ...不用纠结于此,两个都写上吧 复制代码 代码如下: <input type="text" onkeypress=&qu

js统计录入文本框中字符的个数并加以限制不超过多少_javascript技巧

有些需求是为了更直观的体现用户在文本框输入文本时能看到自己输入了多少字,并且有些特殊的要求字数不超过多少,下面是实现: 复制代码 代码如下: <html> <head> <script src="jquery.js" type="text/javascript"></script> <script type="text/javascript"> function tjzs(){ var

js设置文本框中焦点位置在最后的示例代码

 本篇文章主要是对js设置文本框中焦点位置在最后的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在火狐浏览器中直接使用this.focus();即可实现.   在IE中,在this.focus();之后再把文本框的值赋给文本框,焦点即在最后了.很简单哟!!   如:   代码如下: var tar=document.getElementByIdx_x("name"); if(tar.attachEvent){ tar.attachEvent('onmouseover

代码兼容-JS代码的浏览器兼容问题

问题描述 JS代码的浏览器兼容问题 求大家帮帮忙,我在js代码中写的是 window.onload=function(){setInterval(showtime,1000);} function showtime(){ var current = new Date(); var t = document.getElmentById("time"); t.firstChild.innerText = current.toLocaleString(); } 此代码是在浏览器中实时显示本地

C#WPF中文本框值改变触发事件

问题描述 wpf中,我用textchange不行,当输入只能输入一个值就出发了,值还没输完,比如我获取传感器值到文本框,去触发另一个事件,怎么实现,求大神指教,我试了好多方法都不行 解决方案 解决方案二:只有当失去焦点的时候,TextBox才"认为"是输入完毕了.解决方案三:有没有输完,是你自己决定的,输完的条件可以有多种,比如失去焦点解决方案四:当文本框值改变时,触发事件用什么方法

javascript限制文本框只允许输入数字(曾经与现在的方法对比)_javascript技巧

很多时候需要用到限制文本框的数字输入,试过许多方法,都不太理想,遂决定自己实现一个来玩玩. 曾经使用过的方法 通过onkeydown事件来控制只允许数字: 复制代码 代码如下: <input onkeydown="return event.keyCode>=48&&event.keyCode<=57||event.keyCode>=96&&event.keyCode<=105" /> 通过jQuery插件Masked

js 获取屏幕各种宽高的方法(浏览器兼容)_javascript技巧

屏幕的有效宽高: window.screen.availHeightwindow.screen.availWidth   网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth

JavaScript程序开发之JS代码放置的位置_javascript技巧

JavaScript在页面中使用,那么这些JS代码应该放在什么位置呢?下面来看一下. 一般来说有两种方式,写在界面上和使用.js文件. 1.1界面上的Head部分 可以直接放在head标签内,如下代码 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>testPage</title> <script type=&quo

js设置文本框中焦点位置在最后的示例代码(简单实用)_javascript技巧

在火狐浏览器中直接使用this.focus();即可实现. 在IE中,在this.focus();之后再把文本框的值赋给文本框,焦点即在最后了.很简单哟!! 如: 复制代码 代码如下: var tar=document.getElementByIdx_x("name");if(tar.attachEvent){tar.attachEvent('onmouseover',focus(tar),false);}else{tar.addEventListener('mouseover',fo