首頁 >web前端 >js教程 >js實作屏蔽預設快捷鍵呼叫自訂事件範例_javascript技巧

js實作屏蔽預設快捷鍵呼叫自訂事件範例_javascript技巧

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-05-16 17:31:581072瀏覽

具體如何封鎖更多的快捷鍵可以自行google搜尋。
這裡要說的是如何屏蔽後去執行自訂的事件。

這裡為了方便使用的Kibo做例子,使用google搜尋出來的結果一般都是javascript原生實現,很簡單的,這裡不做介紹。

這裡是實現了在一個textarea中enter進行保存的例子,屏蔽掉了原來的回車事件。
程式碼如下:

複製程式碼 程式碼如下:

//鍵盤監聽
var areaKey = new Kibo($("#aac010")[0]);
areaKey.down('enter',doSave);
function doSave() {
event.keyCode = 0;
event.returnValue = false;
setTimeout(save, 300);
return false;
}

屏蔽js原有事件一般是keyCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,returnCode=0,return。 =false,return false;來實現的,關鍵是如何呼叫自訂的方法,如上面的save方法,如果直接把save方法寫到這裡,由於執行save需要一定時間,短時間的沒有返回false,會導致enter原有事件的觸發,不能起到屏蔽的作用,所以這裡使用setTimeout來呼叫自訂的方法。讓returun及時返回,這樣就不會觸發原有的事件。

具體原因並不清楚,如果有人有更好的方法,或知道原因可以留言,謝謝~~~
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn