2011-04-14 7 views
43

HTML要素のスタイルのvisibilityプロパティがhiddenに設定されている場合は、それでもクリックできますか?CSS:隠しオブジェクトはクリック可能ですか?

displayプロパティがnoneに設定されている場合、要素はDOMツリーの一部ではないため、問題はありません。しかし、hidden要素がまだマウスイベントに応答するかどうかは疑問でした。

+2

それは完全に要素の流れから削除されますが、私はそれはDOMツリーの外にかかったかどうかわからないんだけど... – BoltClock

+3

だあなたは「表示:なし」についての非常に適切ではありません。 "display:none"のオブジェクトはまだDOMツリーの一部です(たとえば、jQueryで見つけることができます)が、これはビジュアルツリーの一部ではありません。 –

+0

オブジェクトをクリック可能にしたい場合は、代わりに '不透明度'を使用できます。 –

答えて

51

display: noneは、まだDOMの一部分ですです。ビューポートにレンダリングされません。

visibility: hiddenの要素をクリックすると、イベントはでなく、が発生します。

jsFiddle。視認性を隠しに設定されている場合、このようなハイパーリンクとして

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

+0

ええ、私は最初にテストする必要があります... – BoltClock

+0

@BoltClockどのように行くつもりだったのか分かりませんでしたが、うまくいきませんでした:) – alex

+0

ありがとう。また、jsfiddleを参照するための+1。 – euphoria83

4

要素をクリックすることができない(リンクが続きます)。同様に、onclickイベントは発生しません。

0

divを非表示にするか、noneにすると、ユーザーにクリック不可にするだけです。 しかし、現実にはまだdomの要素であり、このような別のJavaスクリプト/ jqueryでクリックすることができます。

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

jsfiddle enter image description here

関連する問題