74

如果visibility一个 HTML 元素的 style 属性设置为hidden,它仍然可以点击吗?

display属性设置为 时none,该元素甚至不是 DOM 树的一部分,所以这不是问题。但我想知道一个hidden元素是否仍然响应鼠标事件。

4

5 回答 5

87

display: none仍然DOM 的一部分。它只是不在视口中呈现。

至于点击带有visibility: hidden的元素,事件不会被触发。

js小提琴

$('div').click(function() {
    alert('Hello')
});
div {
    width: 100%;
    height: 100%;
    visibility: hidden; 
}
<div>abc</div>

于 2011-04-14T06:48:49.917 回答
11

隐藏或不显示 div 只会使其无法被用户点击。但实际上它仍然是 dom 中的一个元素,您可以像这样使用另一个 java 脚本/jquery 单击它。

$('div').click(function() {
    alert('Hello')
});
$('div').click();

jsfiddle 在此处输入图像描述

于 2017-09-18T18:01:54.217 回答
6

不。

如果可见性设置为隐藏,则无法单击超链接等元素(以及随后的链接)。同样,不会触发 onclick 事件。

于 2011-04-14T06:58:00.260 回答
0

visibiality: hidden带有is notvisible但仍占用页面空间的 HTML 元素。您不能使用鼠标触发事件(单击、悬停...),但您可以使用 javascript 通过 DOM 访问它并触发事件。

于 2021-12-29T04:27:26.197 回答
-1

您可以在反应中使用 useRef,将 ref 添加到您的输入并使用它来调用 onClick,如下所示

  import React, { useRef } from "react";
  const input = useRef();
  <input ref={input} type="file" />

然后调用任何你想要的点击方法

 input.current.click();
于 2020-07-27T15:40:11.020 回答