Board logo

標題: 請問onKeyDown的動作 [打印本頁]

作者: eaitng    時間: 2010-6-17 10:57     標題: 請問onKeyDown的動作

原本我在jquery是用下面selector抓到button click的動作,
$(':button[name= filterButton]').click(function(){}) 
後來為了按下Enter也可以執行同一支script 就在外圈加了function name()
不過這樣就不能寫在$(document).ready(function(){}裡面了
請問javascript, jquery要如何抓到 Enter鍵的動作 或是在html裡可以叫onKeyDown做和button click一樣的動作嗎?

我的html
<input type="button" name="filterButton" value="篩選" onclick="doFilter()" />
<input type="text" name="no" class="uppercase" size="15" maxlength="2" onKeyDown="if (event.keyCode==13) { doFilter(); }"/>

作者: kentkang    時間: 2010-6-17 17:26

我的做法是:取得整個網頁偵測事件
        
$(function(){
$(document).keyup(function(evnet) {

            if (evnet.keyCode == '13') {
               //do something...

                }             
           }             
        })
})
        

作者: wmh    時間: 2010-6-17 22:04

回復 1# eaitng

因為 function 定義在 $(function() {}); 內的話,外部就看不到了,可以把你的 function 改為 global 的,有以下兩種方式:
1. function 定義在 $(function() {}) 外面
function doFilter() {

}
$(function () {
  //jquery...
});
2. 定義在內部,但是用 global 變數
$(function () {
  doFilter = function () { //這一行不加 var 就是 global 了
    //...
  };

});

作者: eaitng    時間: 2010-6-29 17:18

太感激二位了  




歡迎光臨 jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化 (http://jsgears.com/)