【发布时间】:2012-04-13 17:50:34
【问题描述】:
我有那个文本字段:
<input type='text' id='title' name='title'>
<div id='error' class='error'></div>
当用户点击文本框外出现验证问题时,出现div“错误”。
我想要做的是在用户单击正文中的任何位置时隐藏那个小 div。 我在 body click 事件中尝试了 e.stopPropagation 但没有奏效。
div 永远不会出现,因为当我模糊文本字段时,它被认为是身体点击
如果您有任何想法,请告诉我。问候
编辑: 我已经更新了代码。正文单击事件中的代码应该在单击文本字段以外的任何内容时隐藏“错误” 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();
}
});
【问题讨论】:
-
小编辑:在错误 div 的名称上犯了一个小错误。问题还是一样。
-
"Anywhere in body" 是整个可点击的网页。包括
<input>。页面中没有任何地方可供用户单击不是<body>。改变你的要求。 -
您的正文点击处理程序没有正确关闭,但我猜这是一个错字?
-
嗨,是的。感谢您的回复。我现在正在编辑帖子
标签: javascript jquery