我正在使用由John Resig(jQuery先生)编写的jQuery hotkeys plugin。但是,它使用了bind
,bind
现已被on
替换为$(document).bind('keyup', 'alt+a', function(evt){...});
。
标准代码是:
bind
我尝试将on
更改为{{1}},但它无效。有解决方法,还是无关紧要?
我也想知道将处理程序附加到文档是否总是最好的方式。
答案 0 :(得分:4)
on
需要额外的DOM arg http://api.jquery.com/on/,所以请写null
。
尝试
$(document).on('keyup', null, 'alt+a', function(){}
答案 1 :(得分:0)
该插件重新声明了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
出现,然后{ {1}}关闭时出现。