jQuery 1.9.1 $ .event.handle.apply替代 [英] jQuery 1.9.1 $.event.handle.apply alternative

查看:144
本文介绍了jQuery 1.9.1 $ .event.handle.apply替代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近将我的项目之一更新为jQuery 1.9.1,并且我不再可以使用$.event.handle.apply()方法.我搜索发现,可以放置jquery.migrate.js.我只想确认是否还有其他选择?我的google-fu在这里失败...

I recently updated one of my project to jQuery 1.9.1, and I can no longer use $.event.handle.apply() method. I've searched and found, that I can place jquery.migrate.js. I just want to confirm if there is any other option? My google-fu is failing here...

-编辑-这是引起问题的代码(不是我的...从插件复制).

--EDIT-- Here is the code (not mine... copied from the plugin) that is causing the issue...

// Event handler function
function mouseWheelHandler(event)
{
    var sentEvent = event || window.event,
        orgEvent = sentEvent.originalEvent || sentEvent,
        args = [].slice.call( arguments, 1 ),
        delta = 0,
        deltaX = 0,
        deltaY = 0;
        event = $.event.fix(orgEvent);
        event.type = "mousewheel";

    // Old school scrollwheel delta
    if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
    if ( orgEvent.detail     ) { delta = -orgEvent.detail/3; }

    // New school multidimensional scroll (touchpads) deltas
    deltaY = delta;

    // Gecko
    if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
        deltaY = 0;
        deltaX = -1*delta;
    }

    // Webkit
    if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
    if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }

    // Add event and delta to the front of the arguments
    args.unshift(event, delta, deltaX, deltaY);

    return $.event.handle.apply(this, args);
}

推荐答案

,或者您可以尝试:

$.event.调度 .call(obj,event);

$.event.dispatch.call( obj, event );

这篇关于jQuery 1.9.1 $ .event.handle.apply替代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆