Javascript 防止鼠标与透明元素背景交互

Javascript 防止鼠标与透明元素背景交互,javascript,jquery,html,Javascript,Jquery,Html,我有一个基本html元素和一个包含一些按钮的覆盖元素 我希望鼠标能够与基本元素以及覆盖中的按钮交互 问题是覆盖捕获了基本元素的鼠标事件 有没有一种方法可以像IE那样在覆盖层的透明背景下禁用鼠标交互,同时在覆盖层内保留按钮的鼠标交互?或者我需要更改代码的结构吗 这里有一种方法 使用覆盖元素: 没有覆盖元素: 这里有一种方法 使用覆盖元素: 没有覆盖元素: 我修改了html结构,并使用z-index控制div的位置 HTML: 我修改了html结构,并使用z-index控制div的位置 HTML

我有一个基本html元素和一个包含一些按钮的覆盖元素

我希望鼠标能够与基本元素以及覆盖中的按钮交互

问题是覆盖捕获了基本元素的鼠标事件

有没有一种方法可以像IE那样在覆盖层的透明背景下禁用鼠标交互,同时在覆盖层内保留按钮的鼠标交互?或者我需要更改代码的结构吗

这里有一种方法

使用覆盖元素:

没有覆盖元素: 这里有一种方法

使用覆盖元素:

没有覆盖元素:

我修改了html结构,并使用z-index控制div的位置

HTML:


我修改了html结构,并使用z-index控制div的位置

HTML:


这不起作用,它完全禁用覆盖,包括按钮。我需要一种方法来防止覆盖的透明背景捕捉鼠标事件,而不是整个覆盖。这不起作用,它会完全禁用覆盖,包括按钮。我需要一种方法来防止覆盖层的透明背景捕捉鼠标事件,而不是整个覆盖层。我的JSFIDLE示例与我的实际代码相比大大简化,创建一个解决方案将比简化示例更复杂。我最感兴趣的是,是否有可能或者不让透明背景像IE那样忽略鼠标事件,或者进一步传播它们。除此之外,我还必须更改代码的结构。您可以使用elementFromPoint和hide来创建一个更复杂的基本div,其中包含多个元素-我的JSFIDLE示例与我的实际代码相比大大简化,创建一个变通方法将比简化示例更复杂。我最感兴趣的是,是否有可能或者不让透明背景像IE那样忽略鼠标事件,或者进一步传播它们。除此之外,我还必须更改代码的结构。您可以使用elementFromPoint和hide来创建一个更复杂的基类div,其中包含多个元素-我担心我的JSFIDLE示例与我的实际代码相比会大大简化,创建一个变通方法会比简化示例更复杂。我知道如何创建一个解决方案,但目前我最感兴趣的是,是否可以使透明背景像IE一样忽略鼠标事件,或者进一步传播鼠标事件。除此之外,我还必须更改代码的结构。我担心我的JSFIDLE示例与我的实际代码相比已大大简化,创建一个变通方法将比简化示例更复杂。我知道如何创建一个解决方案,但目前我最感兴趣的是,是否可以使透明背景像IE一样忽略鼠标事件,或者进一步传播鼠标事件。除此之外,我还必须更改代码的结构。
<div class="main">
    <div class="base"></div>
    <div class="overlay">
    </div>
    <div class="button left"></div>
    <div class="button right"></div>
</div>
.main {
    width: 350px;
    height: 150px;
    position: relative;
}
.base {
    background-color: #c0c0c0;
    width: 100%;
    height: 100%;
}
.overlay {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.button {
    background-color: #707070;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 60px;

    z-index: 99;
}
.right {
    right: 0;
}​