绝对元素后面的元素上的文本选择
text selection on a element behind an absolute element
我有一个覆盖元素,它隐藏了其他包含文本的div。覆盖元素是绝对定位的。我希望用户能够在这些div后面选择一个文本。我的解决方案是在用户事件mouseDown上隐藏覆盖(display:none),并在mouseUp事件发生时再次显示。
这样,一旦覆盖被隐藏,用户就可以选择文本(只要mouseUp还没有发生)。
这个解决方案似乎适用于chrome和safari,但不适用于firefox,有什么建议吗?
您可以在要单击"through"的元素上使用pointer-events
:
pointer-events: none;
在某些浏览器中,它可能需要前缀。
示例:此处如果没有pointer-events: none
,则无法选择文本:
#outer {
width: 100px;
height: 100px;
display: inline-block;
border: 1px solid black;
position: relative;
}
#inner {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
opacity: 0.5;
background-color: yellow;
}
<div id="outer">
Testing 1 2 3
<div id="inner"></div>
</div>
这里使用pointer-events: none
,您可以:
#outer {
width: 100px;
height: 100px;
display: inline-block;
border: 1px solid black;
position: relative;
}
#inner {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
opacity: 0.5;
background-color: yellow;
pointer-events: none;
}
<div id="outer">
Testing 1 2 3
<div id="inner"></div>
</div>
您需要javascript 的帮助
https://codesandbox.io/s/jovial-hodgkin-jqrsp
鼠标按下时禁用pointer-events
。
相关文章:
- 识别切换条元素文本并在量角器中单击它
- 数组函数不适用于从元素文本创建的JavaScript数组
- 将元素文本替换为子项中的值
- 如何在不丢失格式的情况下连续淡入() 元素文本的每个字符,包括嵌套元素
- 使用 jQuery 从目标页面而不是当前页面获取元素文本
- 使用jquery为html元素文本的每个字符设置动画
- regex替换元素文本
- 在 Firefox 中单击鼠标时无法选择所有输入元素文本
- 如何确定 HTML 元素文本中“新行”的位置
- 在量角器中将元素文本转换为对象
- 无法使用 jquery 获取 xml 元素文本值
- jQuery - 仅获取父元素文本,而不获取子元素文本
- 单击其他元素(文本输入)时显示下拉列表
- 使用自定义绑定更新元素文本
- Android驱动程序的scrollTo和scrollToExact 方法的问题.方法不会滚动到所需的元素文本,而是滚动
- 选择元素文本并添加逗号
- 获取不带 html 标记的页面元素文本,但保留换行符
- 删除元素文本中的最后一个字符
- 如何按顺序获取所有元素文本
- 使用AngularJS将元素文本复制到title属性的干净方法