2010-11-20 10 views
3

自分のウェブサイトの一部として、自分のドラッグ&ドロップスクリプトを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の奇妙な演技されていることが分かった:自動;私はそれをオフにしたときにうまくいきましたが、オーバーフローがそこになければなりません。これを修正する方法はまだありません。<

+0

dt.rootとは何ですか? –

+0

ああ、これはすべての関数が格納されているオブジェクトですが、このためには重要ではありません – Jorik

答えて

0

event.targetは、イベントが送出されたターゲットに戻します。詳細はhttps://developer.mozilla.org/en/DOM/EventTargetをご覧ください。おそらく、要素を再調整して、イベントを発生させる要素の上に要素を設定することができます。

関連する問題