jquery快捷動態綁定鍵盤事件的操作函數代碼

來源:互聯網
上載者:User

複製代碼 代碼如下:
(function($)
{
$.extend({

key_fn:[], //存放綁定的字元對應的函數
key_code:[], //存放字元
key_bind:function(ch,callback){
var KeyCode = {a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90};

if(KeyCode.hasOwnProperty(ch)){
$.key_fn.push(callback);
$.key_code.push(ch);
//第一次才需要添加事件
if($.key_fn.length == 1){

$(document).keypress(function(e){
var e = event || window.event;
var k = e.keyCode || e.which;

for(var i =0 ; i < $.key_fn.length ;i++){

// - 32 相容小寫
if(k-32 == KeyCode[$.key_code[i]] || k == KeyCode[$.key_code[i]] ){
log('pressed binded key '+k);
$.key_fn[i]();
break;
}
}

});
}
}else
{
alert('綁定事件只能是字母');
}
}

});
})(jQuery);

使用的時候可以如下
複製代碼 代碼如下:
$.key_bind('f',set_table_full_screen);
$.key_bind('r',reloadthis);

有時候我們需要為應用添加一些捷徑,每次都去寫一個下面的代碼,通過key_bin就是方便的綁定某個鍵盤和和對應的操作函數了。
複製代碼 代碼如下:
$(document).keypress(function(){})

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.