js屏蔽默認快捷鍵,調用自定義事件

具體如何屏蔽更多的快捷鍵可以自行google搜索。

 

這裡要說的是如何屏蔽後去執行自定義的事件。

 

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

 

這裡是實現瞭在一個textarea中enter進行保存的例子,屏蔽掉瞭原來的回車事件。

代碼如下:

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

//鍵盤監聽
 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,returnValue=false,return false;來實現的,關鍵是如何調用自定義的方法,如上面的save方法,如果直接把save方法寫到這裡,由於執行save需要一定時間,短時間的沒有返回false,會導致enter原有事件的觸發,不能起到屏蔽的作用,所以這裡使用setTimeout來調用自定義的方法。讓returun及時返回,這樣就不會觸發原有的事件。

 

具體原因並不清楚,如果有人有更好的方法,或者知道原因可以留言,謝謝~~~

 

You May Also Like