$.event.mouseHooks在jQuery3中被破坏,在测试版中工作

$.event.mouseHooks在jQuery3中被破坏,在测试版中工作,jquery,jquery-3,Jquery,Jquery 3,我使用一个不再维护的开源项目: 我在jQuery3beta中工作得很好,但自从正式发布以来就已经失败了 问题似乎是$.event.mouseHooks,jQuery已经不推荐它了。是否有任何解决方法,或者我必须寻找另一个平移功能 (另外,如果您有更换建议,请随时分享)我遇到了同样的问题,无法解决 我不得不将JQuery回滚到alpha来解决这个问题。 我也遇到了同样的问题,通过使用jquery迁移并从1.12.4版复制mouseHooks代码解决了这个问题: <script src="ht

我使用一个不再维护的开源项目:

我在jQuery3beta中工作得很好,但自从正式发布以来就已经失败了

问题似乎是
$.event.mouseHooks
,jQuery已经不推荐它了。是否有任何解决方法,或者我必须寻找另一个平移功能


(另外,如果您有更换建议,请随时分享)

我遇到了同样的问题,无法解决

我不得不将JQuery回滚到alpha来解决这个问题。

我也遇到了同样的问题,通过使用jquery迁移并从1.12.4版复制mouseHooks代码解决了这个问题:

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-3.0.1.js"></script>

<script type="text/javascript">
    jQuery.event.mouseHooks = {
        props: ( "button buttons clientX clientY fromElement offsetX offsetY " +
            "pageX pageY screenX screenY toElement" ).split( " " ),
        filter: function( event, original ) {
            var body, eventDoc, doc,
                button = original.button,
                fromElement = original.fromElement;

            // Calculate pageX/Y if missing and clientX/Y available
            if ( event.pageX == null && original.clientX != null ) {
                eventDoc = event.target.ownerDocument || document;
                doc = eventDoc.documentElement;
                body = eventDoc.body;

                event.pageX = original.clientX +
                    ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -
                    ( doc && doc.clientLeft || body && body.clientLeft || 0 );
                event.pageY = original.clientY +
                    ( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) -
                    ( doc && doc.clientTop  || body && body.clientTop  || 0 );
            }

            // Add relatedTarget, if necessary
            if ( !event.relatedTarget && fromElement ) {
                event.relatedTarget = fromElement === event.target ?
                    original.toElement :
                    fromElement;
            }

            // Add which for click: 1 === left; 2 === middle; 3 === right
            // Note: button is not normalized, so don't use it
            if ( !event.which && button !== undefined ) {
                event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
            }

            return event;
        }
    };
</script>

jQuery.event.mouseHooks={
道具:(“按钮clientX clientY from元素offsetX offsetY”+
“pageX pageY screenX screenY toElement”)。拆分(“”),
过滤器:功能(事件,原始){
变量主体、事件文档、文档、,
按钮=原始。按钮,
fromElement=原始。fromElement;
//如果缺少,则计算pageX/Y;如果客户端X/Y可用,则计算pageX/Y
if(event.pageX==null&&original.clientX!=null){
eventDoc=event.target.ownerDocument | |文档;
doc=eventDoc.documentElement;
body=eventDoc.body;
event.pageX=original.clientX+
(doc&&doc.scrollLeft | body&&body.scrollLeft | 0)-
(doc和doc.clientLeft | body和body.clientLeft | 0);
event.pageY=original.clientY+
(doc&&doc.scrollTop | body&&body.scrollTop | 0)-
(doc和doc.clientTop | body和body.clientTop | 0);
}
//如有必要,添加relatedTarget
if(!event.relatedTarget&&fromElement){
event.relatedTarget=fromElement==event.target?
原件.toElement:
来自元素;
}
//添加要单击的内容:1===左;2==中;3==右
//注意:按钮未规范化,所以不要使用它
如果(!event.which&&button!==未定义){
event.which=(按钮&1-1:(按钮&2-3:(按钮&4-2:0));
}
返回事件;
}
};