小编Dys*_*ium的帖子

tipsy live不适用于jQuery 1.9.0

我们最近将jQuery升级到1.9.0,但它打破了我们的醉意插件.它的live功能现在导致错误.

$('.tooltip, abbr').tipsy({
    live: true
});

TypeError: this[binder] is not a function
Run Code Online (Sandbox Code Playgroud)

是否有任何修复或补丁?谷歌搜索没有带来任何有用的东西.


更新:

谢谢你的回答.我决定尝试自己修复这个问题,因为我找不到任何补丁.

经过检查,错误似乎很容易追查.可以轻松修补tipsy插件以使用on功能而不是已弃用的live功能.在tipsy插件中,我替换了以下代码:

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);
}
Run Code Online (Sandbox Code Playgroud)

有:

if (options.trigger != 'manual') {
    var eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',
        eventOut = options.trigger == 'hover' ? 'mouseleave' …
Run Code Online (Sandbox Code Playgroud)

jquery tooltip jquery-plugins live tipsy

18
推荐指数
1
解决办法
3225
查看次数

标签 统计

jquery ×1

jquery-plugins ×1

live ×1

tipsy ×1

tooltip ×1