JS onkeypress兼容性寫(xiě)法詳解
要求實(shí)現(xiàn)輸入密碼后按回車(chē),觸發(fā)后臺(tái)事件??此剖趾?jiǎn)單的需求,可是卻碰到不少難題啊。
HTML內(nèi)容中主要有一個(gè)密碼輸入文本框,還有一個(gè)按鈕,用來(lái)觸發(fā)后臺(tái)事件。
1. TextBox文本框獲得焦點(diǎn)后直接回車(chē),頁(yè)面會(huì)刷新。
經(jīng)過(guò)代碼仔細(xì)研究,原來(lái)是當(dāng)頁(yè)面中只有一個(gè)文本框控件時(shí),當(dāng)按回車(chē)健頁(yè)面將刷新。
處理方法:在頁(yè)面中加入一個(gè)隱藏的TextBox控件。
具體原理不明!
2. 用Jquery實(shí)現(xiàn)方法:
$(document).ready(function(){
$("#tbPassword").focus();
$('#bPassword').keydown(function(e){
if(e.keyCode == 13){
$("#ctl00_ContentBody_btnAccept_linkButton")[0].click();
}
});
});
3. 因?yàn)榉N種原因不能采用Jquery的實(shí)現(xiàn)方法,只好改用JS,它的兼容性就是一個(gè)最頭疼的問(wèn)題了。
document.getElementByIdx_x_x("tbPassword").onkeypress = function(event){
var keynum;
if(window.event) // IE
{
keynum = window.event.keyCode;
}
else if(event.which) // Netscape/Firefox/Opera
{
keynum = event.which;
}
if (keynum == 13)
document.getElementByIdx_x_x('ctl00_ContentBody_btnAccept_linkButton').click();
}
說(shuō)明:
在IE下讀取鍵盤(pán)按鍵:
keynum = event.keyCode; // 字母d,keynum=100
keychar = String.fromCharCode(keynum); // 將keynum轉(zhuǎn)換成字符d
在FireFox中讀取鍵盤(pán)按鍵:
keynum = event.which; // 字母d,keynum=100
keychar = String.fromCharCode(keynum); // 將keynum轉(zhuǎn)換成字符d
如IE中,只有keyCode屬性,而FireFox中有which和charCode屬性,Opera中有keyCode和which屬性等。
因此,在Jquery中已經(jīng)解決這種兼容性問(wèn)題。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
javascript實(shí)現(xiàn)的一個(gè)帶下拉框功能的文本框
這篇文章主要介紹了javascript實(shí)現(xiàn)的一個(gè)帶下拉框功能的文本框,需要的朋友可以參考下2014-05-05
利用JavaScript構(gòu)建樹(shù)形圖的方法詳解
?樹(shù)形圖可視化廣泛用于分層數(shù)據(jù)分析。如果你沒(méi)有經(jīng)驗(yàn)還想創(chuàng)建一個(gè),那將會(huì)有些復(fù)雜。下面是一個(gè)詳細(xì)教程,教你如何使用JavaScript創(chuàng)建交互式樹(shù)形圖2022-06-06
JavaScript實(shí)現(xiàn)點(diǎn)擊按鈕字體放大、縮小
字體可以調(diào)節(jié)大小,極大了滿足了用戶體驗(yàn)度,接下來(lái)通過(guò)本文給大家介紹JavaScript實(shí)現(xiàn)點(diǎn)擊按鈕字體放大、縮小實(shí)例代碼,需要的朋友參考下吧2016-02-02
JavaScript Function函數(shù)類(lèi)型介紹
在JS中,Function(函數(shù))類(lèi)型實(shí)際上是對(duì)象;每個(gè)函數(shù)都是Function類(lèi)型的實(shí)例;而且都與其他引用類(lèi)型一樣具有屬性和方法2015-04-04
原生js實(shí)現(xiàn)class的添加和刪除簡(jiǎn)單代碼
下面小編就為大家?guī)?lái)一篇原生js實(shí)現(xiàn)class的添加和刪除簡(jiǎn)單代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07
不到200行 JavaScript 代碼實(shí)現(xiàn)富文本編輯器的方法
這篇文章主要介紹了不到200行 JavaScript 代碼實(shí)現(xiàn)富文本編輯器的方法,需要的朋友可以參考下2018-01-01

