プルダウンを表示して、それ以外をクリックしたら表示を消す際に
どうしたらよろしいでしょうか?
<body id="dddd">
<p id="aaaa">
<span>選択</span>
</p>
<script>
document.getElementById("aaaa").onmousedown = test;
function test(e){
{document.getElementById("cccc").style.visibility="visible"}
}
document.getElementById("dddd").onmousedown = aaa;
function aaa(e){
{document.getElementById("cccc").style.visibility="hidden"}
}
</script>
<div id="cccc">
<ul>
<li><a href="/aaa/"><span>★</span>BBB</a></li>
</ul>
</div>
こんなんでどうでしょう。
<script> var flag = false; document.getElementById("aaaa").onmousedown = test; function test(e){ {document.getElementById("cccc").style.visibility="visible"} flag = true; } document.getElementById("dddd").onmousedown = aaa; function aaa(e){ if(flag==false){ {document.getElementById("cccc").style.visibility="hidden"} } flag = false; } </script>
単に外部にフラグを持って、p内でのイベントならbody内での処理を弾いただけです。
変数としてフラグを利用するのを避けたければ、setAttributeを用いて属性をフラグとして追加すると良いと思います。
ありがとうございます。
ですが、これだとプルダウンの中のリンクが動かないような
気がするのですがプルダウンのリンクも有効に出来ないでしょうか?