系統預設情況下,使用Tab按鍵切換頁面元素的焦點,有沒有想過回車鍵Enter也可以實現這種功能,並且具有良好的使用者體驗。接下來我們使用Jquery實作回車鍵Enter切換焦點,此程式碼在常用瀏覽器IE7, IE8, Firefox 3, Chrome 2 和Safari 4測試通過。
使用的開發工具是微軟VS2010+Jquery框架
實現步驟如下
1.首先引用Jquery類別庫
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
2、Javascript程式碼
<script type="text/javascript">
$(function () {
$('input:text:first').focus();
var $inp = $('input:text');
$inp.bind('keydown', function (e) {
var key = e.which;
if (key == 13) {
e.preventDefault();
var nxtIdx = $inp.index(this) + 1;
$(":input:text:eq(" + nxtIdx + ")").focus();
}
});
});
</script>
分析:
$('input:text:first').focus();
頁面初始化時,焦點定位第一個文字方塊內
var $inp = $('input:text');
取的type=文字方塊的元素集合
$inp.bind('keydown', function (e) {}
給文字方塊集合綁定'keydown'事件
var key = e.which;
取的目前按下的鍵值例如Enter的鍵值=13
e.preventDefault();
可以阻止它的預設行為的發生而發生其他的事情,在這裡我們組織PostBack發生,而是切換焦點。另一個相近的方法是stopPropagation,它起到阻止js事件冒泡的作用。