我正在尝试制作一个简单的弹出<div>
,它旨在在用户拖动鼠标指针时显示鼠标坐标。此弹出显示在鼠标指针右侧的底部.底层div
有自己非常重要的鼠标事件处理程序(例如.mousemove()
)。弹出的div
离鼠标指针很远(向下大约16个像素,右边16个像素)。比方说,用户正在调整某个对象的大小,而弹出显示的是该对象的新大小。这样就行了。如果用户正在缓慢地调整对象的大小。但是,一旦用户突然调整对象的大小并指向弹出的div
,底层div
就会失去焦点,而负责调整大小的事件处理程序就会被“破坏”(就像鼠标指针“忘记”底层div
),因为它根本不是为了与覆盖div
-s进行协作而设计的。
是否有能力抑制任何弹出的div
鼠标事件,让底层的div
事件严格地连续进行。
我试过这样的方法:
var BLACK_HOLE = function(e) {
e.preventDefault();
e.stopPropagation();
return false;
};
$popUp
.click(BLACK_HOLE)
.dblclick(BLACK_HOLE)
.focusin(BLACK_HOLE)
.focusout(BLACK_HOLE)
.hover(BLACK_HOLE)
.mousedown(BLACK_HOLE)
.mouseenter(BLACK_HOLE)
.mouseleave(BLACK_HOLE)
.mousemove(BLACK_HOLE)
.mouseout(BLACK_HOLE)
.mouseover(BLACK_HOLE)
.mouseup(BLACK_HOLE);
它不符合我的要求。有谁遇到过同样的问题吗?有可能绕过它吗?也许有一个完整的jQuery插件.困惑..。
提前谢谢你。
发布于 2010-12-08 21:27:11
适当的事件冒泡/捕获是解决方案和拯救。这个bug在我的应用程序中被修复了。
https://stackoverflow.com/questions/3915784
复制相似问题