我正在使用由 John Resig(jQuery 先生)编写的jQuery hotkeys 插件。但是,它使用bind
,并且bind
现在已替换on
为官方 jQuery API 中所述的。
标准代码是:
$(document).bind('keyup', 'alt+a', function(evt){...});
我尝试更改bind
为on
,但没有成功。有没有解决方法,还是没关系?
我还想知道将处理程序附加到文档是否总是最好的方法。
我正在使用由 John Resig(jQuery 先生)编写的jQuery hotkeys 插件。但是,它使用bind
,并且bind
现在已替换on
为官方 jQuery API 中所述的。
标准代码是:
$(document).bind('keyup', 'alt+a', function(evt){...});
我尝试更改bind
为on
,但没有成功。有没有解决方法,还是没关系?
我还想知道将处理程序附加到文档是否总是最好的方法。
on
取一个额外的 DOM arg,http://api.jquery.com/on/,所以写null
.
尝试
$(document).on('keyup', null, 'alt+a', function(){}
该插件重新声明了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
音符——不要替换__bind
,只bind
用 on替换出现,unbind
用 off 替换出现。