2

2 つのソート可能なリストがあり、1 つはネストされており、ネストされたソート可能なリストの li 要素に対してマウス エンター効果があります。私の問題は、ユーザーが入力フィールドである子要素の上でマウスをリスト内ですばやく移動すると、mouseenter および mouseleave 関数が一貫して呼び出されないことです。

問題を確認するには、ペインをリストにドラッグしてから、3 ~ 4 個のテキスト ボックス項目をペインにドラッグする必要があります。右上の 2 つの数字がマウスのイン/アウトを追跡していることがわかります。これまでのところ、自分のサイトは firefox 3.5.7 でしかテストしていないことに注意してください。この問題は Firefox バージョン 3.6 で修正されたようですが、以前のすべてのバージョンの Firefox 3.x で動作するにはこれが必要です

私のjquery 1.4.1コード:

mouseenter 関数と mouseleave 関数は次のとおりです。

$(".pane > li").live("mouseover", function(){
$("#in").html(in1);
$(this).children(".test").stop().animate({opacity: 1},400);
in1++;
});

$(".pane > li").live("mouseout", function(){
$("#out").html(out1);
$(this).children(".test").stop().animate({opacity: 0},400);
out1++;
});

ページに動的に li 要素を追加する関数を呼び出すときに、 live() を使用せずに mouseenter および mouseleave 関数を割り当てようとしました。ただし、問題は解決せず、firebug デバッガーでエラーが表示されます。おそらく、Firefox の relatedTarget と関係があります。ご協力ありがとうございます。

4

2 に答える 2

0

うわー、それはかなりクールに見えます。とにかく、「mouseenter」が1つのもので起動したときに、他のすべてのもので「mouseout」に対応するコードを実行するようにすることができます。それらはオーバーラップできないので、それはうまくいくようです。

于 2010-02-10T04:36:30.660 に答える
0

入力フィールドの上に透明なdivを絶対に配置し、クリックするとdivのz-indexが減少するようにすることで、問題に対する洗練されていない解決策を見つけました。同時に、入力フィールドに注目して、div がユーザーから実質的に見えないようにします。誰かが何か提案があれば、私はまだよりエレガントな修正を好むでしょう.

于 2010-02-10T21:15:46.937 に答える