我们最近升级了jQuery来1.9.0,但它打破了我们醉意插件。 它的live
功能现在将导致错误。
$('.tooltip, abbr').tipsy({
live: true
});
TypeError: this[binder] is not a function
有没有这方面的任何修补程序或补丁? 谷歌搜索并没有导致任何有用的东西。
更新:
感谢您的答案。 我决定尝试解决这个问题我自己,因为我找不到任何补丁。
经检查似乎是错误很容易追查。 酒意插件可以很容易地修补使用on
功能,而不是过时的live
功能。 在醉意的插件,我更换了下面的代码:
if (options.trigger != 'manual') {
var binder = options.live ? 'live' : 'bind',
eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
this[binder](eventIn, enter)[binder](eventOut, leave);
}
有:
if (options.trigger != 'manual') {
var eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
if (options.live)
$(document).on(eventIn, this.selector, enter).on(eventOut, this.selector, leave);
else
this.bind(eventIn, enter).bind(eventOut, leave);
}
奇迹般有效。 :)