※ ChatGPTを利用し、要約された質問です(原文:フォーカスが外れたときの動作について)
フォーカスが外れたときの動作について
このQ&Aのポイント
text1クリックでtext2を表示し、フォーカスが外れるとtext2を再度隠すコードの動作について
text2をクリックした場合にもtext2を表示したままにする方法について
text2がクリックされたことを検知し、表示を維持する方法について
お世話になります。
あるテキストフィールド(text1)をクリックした際に隠れている別のテキストフィールド(text2)を表示し、
フォーカスが外れるとtext2を再度隠すというコードを書きました。
<html>
<head>
<style>
<!--
#text2 {
display: none;
}
-->
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
<!--
$(function() {
$("#text1").click(function() {
$("#text2").show();
}).blur(function() {
$("#text2").hide();
});
});
-->
</script>
</head>
<body>
<form>
<input type="text" id="text1" value=""/>
<input type="text" id="text2" value=""/>
</form>
</body>
</html>
この場合、text1をクリックしたときにtext2が表示されて、フォーカスが外れるとtext2が隠れるのは想定通りの動作なのですが、これをtext2をクリックした場合にはtext1からフォーカスが外れてもtext2を表示したままということはできるのでしょうか。
blurの中でtext2がクリックされた時みたいな検知ができれば実現できると思うのですがそのようなことってできますでしょうか。
よろしくお願いいたします。
お礼
回答ありがとうございます。 text1、text2を含むdivを作ってそのdivに対して行えばいいんですね。 たしかにそうすればtext2をクリックしてもdivの範囲なのでtext2は隠れませんね。 頭にありませんでした。ありがとうございます。