自分のウェブサイトの一部として、自分のドラッグ&ドロップスクリプトをhtml/javascriptで作成しています。それは私がfirefoxで試したとき以外はすべてうまく動作します。私はいくつかのデバッグを行い、firefoxがevent.targetから間違ったターゲットを返すことを発見しました。ここでfirefoxでのイベントの問題
が
$(document).bind({
'mousemove' : function(e){
console.log(e);
+、コードの重要な部分である、より多くのコード+
var obj = e.target;
if(obj.className == "sidebarItem"){
dt.root.handleHover(e.target);
}else if(obj.className == "sidebarItemText"){
dt.root.handleHover(e.target.parentNode);
}
(私はいくつかの構文エラーがあるかもしれないので、ここでこのコードを入力したが、あなた
このコードは、ユーザーが「ドラッグ可能」なdivをクリックするとバインドされ、再びマウスボタンを離すとすぐに解除されます。
すべてはIEとChromeでうまく動作しますが、それは上にホバリングされますが、firefoxのevent.targetではマウスの近くにあるdivを返します(divの背後にあるdivです。最初のクリックをキャプチャし、相対位置で設定されます)。
この
は誰もが私が間違ってやっていることを知っている状況
----------
|a | bbbb
|a | bbbb
|a | bbbb
それがからドラッグされた=ドラッグターゲット
B =、およびFirefoxは返すもdiv要素でありますここに?
EDIT:
私はいつもevent.targetとして返さdiv要素があるため、オーバーフロー-Yの奇妙な演技されていることが分かった:自動;私はそれをオフにしたときにうまくいきましたが、オーバーフローがそこになければなりません。これを修正する方法はまだありません。<
dt.rootとは何ですか? –
ああ、これはすべての関数が格納されているオブジェクトですが、このためには重要ではありません – Jorik