私はそのテキストフィールドを持っています:
<input type='text' id='title' name='title'>
<div id='error' class='error'></div>
ユーザーがテキストフィールドをクリックして検証に問題がある場合、div「エラー」が表示されます。
私がやりたいのは、ユーザーが体のどこかをクリックしたときにその小さなdivを非表示にすることです。ボディクリックイベントでe.stopPropagationを試しましたが、機能しませんでした。
テキストフィールドからぼかした場合、ボディクリックと見なされるため、divは表示されません。
何かアイデアがあれば教えてください。よろしく
編集:コードを更新しました。body clickイベント内のコードは、テキストフィールド以外がクリックされたときに「エラー」divを非表示にすることになっていますが、それを機能させることはできません。
$('body').click(function(event){
if ($(event.target).closest('#title').get(0) == null ) {
$("#error").hide();
}});
// Validation
$('#title').blur(function(){
var titleinput=$('#title').val();
if (titleinput.length <30 || titleinput.length >50){
$('#error').text('Your title must be between 30 and 50 characters').show();
}
});