首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在不中断jQuery中的底层元素事件的情况下,禁用对任何鼠标事件的元素反应?

如何在不中断jQuery中的底层元素事件的情况下,禁用对任何鼠标事件的元素反应?
EN

Stack Overflow用户
提问于 2010-10-12 14:35:02
回答 1查看 1K关注 0票数 0

我正在尝试制作一个简单的弹出<div>,它旨在在用户拖动鼠标指针时显示鼠标坐标。此弹出显示在鼠标指针右侧的底部.底层div有自己非常重要的鼠标事件处理程序(例如.mousemove())。弹出的div离鼠标指针很远(向下大约16个像素,右边16个像素)。比方说,用户正在调整某个对象的大小,而弹出显示的是该对象的新大小。这样就行了。如果用户正在缓慢地调整对象的大小。但是,一旦用户突然调整对象的大小并指向弹出的div,底层div就会失去焦点,而负责调整大小的事件处理程序就会被“破坏”(就像鼠标指针“忘记”底层div),因为它根本不是为了与覆盖div-s进行协作而设计的。

是否有能力抑制任何弹出的div鼠标事件,让底层的div事件严格地连续进行。

我试过这样的方法:

代码语言:javascript
代码运行次数:0
运行
复制
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插件.困惑..。

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-08 21:27:11

适当的事件冒泡/捕获是解决方案和拯救。这个bug在我的应用程序中被修复了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3915784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档