入力値に次の文字(および一致する文字のみ)が含まれている場合、テキストを非表示にしようとしています。現在のところ、それは "england"という単語の文字だけでなく、どんな文字でもトリガーされます。なぜそうは分かりません。どんな助けも大歓迎です。入力値に次の文字が含まれています
var input = document.getElementById("input1")
$("#input1").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
$("input").submit();
}
});
input.addEventListener("keyup", function() {
if ($("input[value*='england']")) {
$('#etext').hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input1" type="text" value="" placeholder="Search.. ." />
<p id="etext">England</p>
あなたのコードが多くのスペースを占める理由はわかりません。 –
value属性はユーザーの入力を反映するのではなく、valueプロパティが反映されることを理解することが重要です。 '$()'は一致するものが見つからなくてもオブジェクトを返すので、 'if($(selector))'は常に正真正銘です。 – charlietfl
@charlietfl答えにポイントを追加しました。ありがとう。 ':D' –