ページ上に、MoveUp、MoveDown、および Delete の一連のコントロールを含むアイテムのリストがあります。
コントロールは、デフォルトでは非表示のリストの一番上にあります。アイテム行にマウスオーバーすると、jquery でコントロールが選択されます
//doc ready function:
..
var tools = $('#tools');
$('#moveup').click(MoveUp);
$('#movedn').click(MoveDn);
$('#delete').click(Delete);
..
$('li.item').mouseover(function(){
$(this).prepend(tools);
});
これは Firefox でうまく機能します。ツールは現在の行に移動し、クリック イベントは ajax 関数を呼び出します。ただし、IE6 および IE7 では、クリックは発生しません。マウスアウトでバインドを解除し、マウスオーバーごとに再バインドしようとしました..役に立たなかった。
また、javascript 以外のさまざまな理由 (透明な png の競合、z-index、position:absolute など) も調べましたが、解決策も見つかりませんでした。
最終的には、各アイテムにツール行を追加し、マウス オーバー/アウトで表示/非表示にする必要がありました。同様に機能します。唯一の欠点は、ページに「ツール」マークアップがはるかに多いことです。
オブジェクトが移動されると(プリペンドを使用して)IEがマウスイベントを無視/ドロップ/強制終了する理由を誰かが知っていますか? そして、後でイベントを再バインドしても効果がないのはなぜですか? あきらめる前に、ほぼ2時間イライラしました。