2012-12-26 115 views
2

我使用的是由John Resig(jQuery先生)編寫的jQuery hotkeys plugin。它使用bind,然而bind現在被替換爲on,如the official jQuery API所述。jQuery熱鍵插件使用綁定

標準的代碼是:

$(document).bind('keyup', 'alt+a', function(evt){...}); 

我試圖改變bindon,但沒有奏效。有沒有解決方法,或者沒有關係?

我也想知道將處理程序附加到文檔是否總是最好的方法。

+0

試$(文件)。在( 'KEYUP',NULL, 'ALT + A',函數(){} –

回答

4

on需要額外的DOM參數,http://api.jquery.com/on/,所以請寫null

嘗試

$(document).on('keyup', null, 'alt+a', function(){} 
+0

完美。非常感謝。 – Nick

0

插件redeclares使用的jQuery .bind.unbind方法在這些行看到

jQuery.fn.bind = function(){ 
jQuery.fn.unbind = function(){ 

我們可以簡單地做

jQuery.fn.on = function(){ 
jQuery.fn.off = function(){ 

這也需要改變 -

jQuery.fn.__bind__ = jQuery.fn.bind; 
jQuery.fn.__unbind__ = jQuery.fn.unbind; 

jQuery.fn.__bind__ = jQuery.fn.on; 
jQuery.fn.__unbind__ = jQuery.fn.off; 

它的重複使用幾次,所以更換bind的任何occurence - 請不要在更換__bind,只是bind OCCURENCES,並unbind OCCURENCES與關閉。

Or just use the code in my jsFiddle

+0

感謝您的回答,雖然我的副本除了執行行外,插件沒有提及'bind'或'on'。我已經與Jonathan一起回答了。 – Nick