这很烦人。在图像上翻转后,如果从左侧,顶部或右侧边缘展开红色框消失。但是如果你从底部边缘滚出红色框有时会消失。那是为什么?
修改 的 另一个奇怪的事情是,当你检查控制台日志时,mouseleave会触发但不会删除div !!!。
编辑2: 好的,两个答案都解决了问题,但我仍然想知道如何在地球上console.log记录原始代码中的mouseleave但不触发remove()?
答案 0 :(得分:1)
我认为外部div会产生一些问题,这种方式有效:
$("img").bind("mouseenter", function () {
$("#enlargemag").remove();
var imgobj = this;
var w = $(imgobj).width();
var h = $(imgobj).height();
var p = $(imgobj).position();
$("<div id='enlargemag' style='border:none;cursor:pointer;position:absolute;top:" + p.top + "px;left:" + p.left + "px;width:" + w + "px;height:" + h + "px;background-color:#FF0000;'></div>").appendTo("body");
});
$("#enlargemag").live("mouseleave", function () {
console.log("mouselave");
$("#enlargemag").remove();
});
答案 1 :(得分:1)
display: block
解决了问题