0

Chrome のバグである可能性がある問題に遭遇しましたが、経験豊富な開発者が問題を調べてくれることを期待していました。youngpup の dom-drag JavaScript ライブラリ ( https://github.com/aboodman/dom-drag/blob/gh-pages/dom-drag.js ) を使用していますが、Chrome で正しく機能していないことに気付きました。エラーは 86 行目で発生しています。

何らかの理由で、マウスが動かされていなくても、Chrome は document.onmousemove イベントを登録しています。他のすべてのブラウザーで試してみましたが、ユーザーがシングルクリックしたときにイベントがトリガーされるのは Chrome だけです。これはバグと見なされますか? もしそうなら、問題を解決するための回避策を誰かが推奨できますか?

4

1 に答える 1

0

私は drag.js を使用していましたが、同じ問題に直面しました。PlantTheldea が 2 年前に提供したリンクから、chrome で修正されていないことがわかります。私の側では、クリック イベント ハンドラーを受け入れる必要があるドラッグ可能なアイテムが DOM にありました。ただし、マウスが動いていない場合、クリックイベント中に onmousemove イベントがトリガーされました。このバグは Chrome で発生していました。

ですから、他の人も同じ問題に直面する可能性があると思います。これが私がdrag.jsで解決した方法です:

1 - onmousemove ハンドラに移動します

2 - X または Y に動きがあるかどうかを確認します。動きがある場合は true を返します。

私が編集した drag.js のハンドラーの例:

// onmousemove handler for the document level
// activated after left mouse button is pressed on draggable element
handler_onmousemove = function (e) {
        if(e.movementX === 0 && e.movementY == 0){
            // No movement detected
            return true; // We can continue with other handlers as click
        }

それが役立つことを願っています。

于 2015-06-06T09:00:01.617 に答える