2

我正在使用由 John Resig(jQuery 先生)编写的jQuery hotkeys 插件。但是,它使用bind,并且bind现在已替换on官方 jQuery API 中所述的

标准代码是:

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

我尝试更改bindon,但没有成功。有没有解决方法,还是没关系?

我还想知道将处理程序附加到文档是否总是最好的方法。

4

2 回答 2

4

on取一个额外的 DOM arg,http://api.jquery.com/on/,所以写null.

尝试

$(document).on('keyup', null, 'alt+a', function(){}
于 2012-12-26T06:55:37.977 回答
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用 on替换出现,unbind用 off 替换出现。

或者只是使用我的 jsFiddle 中的代码

于 2012-12-26T06:58:43.363 回答