2012-12-26 132 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