我使用一个不再维护的开源项目:https ://github.com/timmywil/jquery.panzoom
我在 jquery 3 beta 上工作得很好,但自从正式发布后就坏了。
问题似乎是$.event.mouseHooks
,它已被 jQuery 弃用。有什么解决方法吗,还是我必须寻找另一个 panzoom 功能?
(另外,如果您有更换的建议,请随时分享)
我使用一个不再维护的开源项目:https ://github.com/timmywil/jquery.panzoom
我在 jquery 3 beta 上工作得很好,但自从正式发布后就坏了。
问题似乎是$.event.mouseHooks
,它已被 jQuery 弃用。有什么解决方法吗,还是我必须寻找另一个 panzoom 功能?
(另外,如果您有更换的建议,请随时分享)
我遇到了同样的问题,无法解决。
我不得不将 JQuery 回滚到 alpha 来解决这个问题。
http://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js
我遇到了同样的问题,并通过使用 jquery-migrate 并从 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>