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