2011-04-14 73 views
43

如果HTML元素样式的visibility属性设置为hidden,它仍然是可点击的吗?CSS:隐藏的对象是否可点击?

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

+2

它完全从要素流取出,但我不知道这是否是取出DOM树...... – BoltClock 2011-04-14 06:49:35

+3

你是不是完全正确“显示:无”。带有“display:none”的对象仍然是DOM树的一部分(例如,您可以通过jQuery找到它),但它不是可视化树的一部分。 – 2015-02-20 01:36:15

+0

如果你想让对象可点击,你可以使用“不透明”。 – 2018-02-02 13:10:38

回答

51

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

至于点击元素visibility: hidden,事件是而不是发射。

jsFiddle

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

+0

是的,我应该先测试... – BoltClock 2011-04-14 06:51:05

+0

@BoltClock我不知道它会走哪条路,但我有一种感觉,它不会工作:) – alex 2011-04-14 06:51:41

+0

谢谢。此外,+1引用jsfiddle。 – euphoria83 2011-04-14 07:36:06

4

的元件如超链接不能点击(和连杆跟随),如果可见性设置为隐藏。同样,onclick事件不会被解雇。

0

让div隐藏或显示none只会让用户无法点击。 但实际上它仍然是dom中的一个元素,你可以用另一个java脚本/ jquery这样来点击它。

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

jsfiddle enter image description here