首頁 > web前端 > js教程 > Enter回車切換輸入焦點實現想法與程式碼相容各大瀏覽器_jquery

Enter回車切換輸入焦點實現想法與程式碼相容各大瀏覽器_jquery

WBOY
發布: 2016-05-16 16:37:54
原創
1254 人瀏覽過

做專案時,客戶要求能夠用enter回車直接切換輸入(焦點),當最後一個時候,直接提交資訊。

第一個想法就是,網上去copy一段程式碼直接用。但了百度、Google找了個遍,找到的程式碼80%以上都是一樣的。有的程式碼太老,都不能用。有的只有部分瀏覽器能用。折騰了半小時也沒合適的辦法。最後一想,乾脆自己動手。

一、思路

每次點擊回車的時候,取得目前的焦點位置,然後設定它的下一個元素取得焦點;

二、代碼

<script type="text/javascript">
$('input:text:first').focus(); 
document.onkeydown = function enterHandler(event)
{
var inputs = $("input"); //可自行添加其它过滤条件 
var browser = navigator.appName ; //浏览器名称
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 

var Code = '' ;
if(browser.indexOf('Internet')>-1) // IE 
Code = window.event.keyCode ;
else if(userAgent.indexOf("Firefox")>-1) // 火狐
Code = event.which;
else // 其它
Code = event.keyCode &#63; event.keyCode : event.which &#63; event.which : event.charCode;

if (Code == 13) //可以自行加其它过滤条件
{
for(var i=0;i<inputs.length;i++)
{
if(inputs[i].id == document.activeElement.id)
{ 
i = i== (inputs.length - 1) &#63; -1 : i ;
$('#'+ inputs[i+1].id ).focus()
break;
}
}
}
}
</script>
登入後複製

其中,因為IE和火狐對鍵值取得的不同,所以對瀏覽器做了簡單的判斷區分。這樣就可以在各個瀏覽器上取得敲擊的鍵值。

最後,取得到目前的數值以後,就可以加其它的各種條件了。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板