我正在使用 JQuery mouseenter 事件在另一个 div 中显示一个 div。当鼠标进入 DIV AI 时,会在其中显示一个较小的 DIV B。问题是当我将鼠标放在 DIV B 上时,JQuery 再次运行 mouseenter 事件。我想显示 DIV B(内部一个),当鼠标经过它时,不要再次触发 mouseenter 事件。虽然从技术上讲,我的鼠标仍然悬停在 DIV A 上。换句话说,鼠标悬停在 DIV B 上会导致 JQuery 再次在 DIV A 上运行 mouseenter,这是我所理解的。
代码:
$(document).on("mouseenter", ".si", function (e) {
settingsIcon(e,1);
});
$()
$(document).on("mouseout", ".si", function (e) {
settingsIcon(e,0);
});
function settingsIcon(e, action) {
if (action === 1) // show
{
$(".settings_icon").remove();
var id = parseInt(e.target.id.replace("dvci_", ""), 10);
$("#dvc_" + id).prepend("<div class='settings_icon' ><img class='settings_icon_image' src='settings.png' style='width:59px; height:57px' /></div>");
var icon = $("#dvc_" + id + " .settings_icon");
icon.css({
"left": ($("#dvci_" + id).width() / 2) - 30,
"top": parseInt($("#dvci_" + id).css("margin-top").replace("px", ""), 10) + ($("#dvci_" + id).height() / 2) - 30
});
$(".settings_icon img").show("scale", {}, 400);
}
else {
// hide
$(".settings_icon").remove();
}
}
jsfiddle:http: //jsfiddle.net/tLUrd/