微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – jQuery.event.handle未记录并已弃用

我正在使用具有此代码块的插件.但是我收到了这个错误

   JQMIGRATE: jQuery.event.handle is undocumented and deprecated

*原因:jQuery.event.handle从未被记录过,并且不推荐使用jQuery 1.7(参见http://forum.jquery.com/topic/deprecated-event-properties-used-in-jquery).从jQuery 1.9开始,它已被删除.

解决方案:使用记录的jQuery API,例如.trigger.*

handler: function( event, execAsap ) {
    // Save the context
    var context = this,
        args    = arguments;

    // set correct event type
    event.type = "smartresize";

    if ( resizeTimeout ) { clearTimeout( resizeTimeout ); }
    resizeTimeout = setTimeout(function() {
        jQuery.event.handle.apply( context, args ); //here
    }, execAsap === "execAsap"? 0 : 50 );
}

那么,这条线会改变为什么?

jQuery.event.handle.apply( context, args );

解决方法:

我猜测上下文必须是传递给自定义事件的参数的元素和参数,所以这样的事情可能会起作用:

$(this).trigger(event, [args]);

我建议重构整个事情而不是绑定.然后你可以很容易地触发定义的自定义事件,我不认为使用这种方法你需要定义一个自定义事件,这样你就可以使代码变小.

http://api.jquery.com/on/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐