は、私は次のJavaScript/jQueryの機能を持っている:それは作品jQueryののMouseEnter/mouseleave HTML() - スワップ問題
function addEventHandler(){
$("div").mouseenter(function() {
$(this).html("Over");
}).mouseleave(function() {
$(this).html("Out");
});
}
ではなく、完全に。 divは時々少し重なり合って(質問しないでください)、以下の画像が伝えようとするときに必ず「Out」値を取得するとは限りません。これは特にポインタを非常に速く動かすと起こります。
任意のアイデアをどのようにすべてのdiv要素がmouseleaveの「アウト」の値を取得することを確認しますか?ありがとう!
UPDATE:実際のコードの抜粋
私の本当の機能は、上記の例ほど単純ではないので、私はここで本当の機能の正確なコードが含まれていました:
function addEventHandlers(){
var originalContent = "";
$(".countryspots div").mouseenter(function() {
var thisClass = $(this).attr("class");
var thisCountry = thisClass.split(" ");
var thisNumber = getNumber(thisCountry[1]);
originalContent = $(this).children("a").html();
$(this).children("a").html("<span>" + thisNumber + "</span>");
}).mouseleave(function() {
$(this).children("a").html(originalContent);
});
}
そして、私のHTMLマークアップは次のようにされています
<div class="countryspots">
<div class="america brazil"><a href="#"><span>Brazil</span></a></div>
<div class="america argentina"><a href="#"><span>Argentina</span></a></div>
<div class="europe ireland"><a href="#"><span>Ireland</span></a></div>
<div class="europe portugal"><a href="#"><span>Portugal</span></a></div>
</div>
一般的な考え方は、最も内側にあること国名である<span>
はmouseenter
(getNumber();
から検索)の従業員を表す番号にスワップされ、その後mouseleave
にスワップされます。
実際の問題は、別のdivにポインタを移動すると、多くのdivが従業員番号を保持するということです。つまり、mouseleave
イベントはすべてのdivで実行されません。
ライブ例:http://jsfiddle.net/N9YAu/4/
は、この情報がお役に立てば幸いです。再度、感謝します!
100万RoToRaありがとう!それは完全に動作します:) – o01
Err ..完全にはないtho - 出口のイベントがトリガされないいくつかのdivがまだあります。 – o01
^私を間違えないでください - あなたの提案は大きな改善をもたらしましたが、私が言ったように - 私がdivを渡って本当に速くポインタを動かすと、数字を保持する人はまだいます。 – o01