CSS: Is a hidden object clickable?
If the visibility
property of the style of an HTML element is set to hidden
, is it still clickable?
When the display
proper开发者_StackOverflow社区ty is set to none
, the element is not even part of the DOM tree, so that is not a problem. But I was wondering if a hidden
element still responds to mouse events.
With display: none
it is still part of the DOM. It just isn't rendered in the viewport.
As for clicks on elements with visibility: hidden
, the events are not fired.
jsFiddle.
$('div').click(function() {
alert('Hello')
});
div {
width: 100%;
height: 100%;
visibility: hidden;
}
<div>abc</div>
Making div hidden or display none just makes it un clickable to user. But in real its still an element in dom and you can click it with another java script/jquery like this.
$('div').click(function() {
alert('Hello')
});
$('div').click();
jsfiddle
No.
An element such as a hyperlink can't be clicked (and the link followed) if the visibility is set to hidden. Similarly, onclick events won't be fired.
You can use useRef in react, add ref to your input and use it to call onClick like below
import React, { useRef } from "react";
const input = useRef();
<input ref={input} type="file" />
and then call whatever you want like click method
input.current.click();
An HTML element with visibiality: hidden
is not visible
but it still takes up space on the page.
You can't trigger events (click, hover, ...) by using mouse, but
you can use javascript to access it through DOM and trigger events.
精彩评论