jQuery: 在 mouseup 上隐藏一个元素,除非它有内容
jQuery: Hide an element on mouseup except when it has a content
单击文档正文后,我想隐藏一些元素,并且我从 SO 中给出的答案中获得了这段代码。
$(document).mouseup(function (e){
var container = $(".time-stamp, .full-name, .comment-box-wrapper .search-result");
if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // nor a descendant of the container
{
container.hide();
}
});
它工作正常,但我的页面一次显示 10 篇不同的文章,每篇文章都有文本框 (comment-box
),它们被包裹在 comment-box-wrapper
中并附在每篇文章上,用户可以
提交他们的意见。这些评论框默认设置为隐藏,直到用户单击 评论 按钮。问题是如果用户有
在评论框中输入一些文本并单击其他地方,comment-box
设置为 hidden
,内容完全丢失。
如果 comment-box
中已有一些内容,我如何取消 .hide()
?
$(document).mouseup(function (e){
var container = $(".time-stamp, .full-name, .comment-box-wrapper.not-active .search-result");
if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // nor a descendant of the container
{
container.hide();
}
});
$('.comment-box').on('change', function(){
if(this.value!=""){
$(this).parent().removeClass('not-active');
}
})
单击文档正文后,我想隐藏一些元素,并且我从 SO 中给出的答案中获得了这段代码。
$(document).mouseup(function (e){
var container = $(".time-stamp, .full-name, .comment-box-wrapper .search-result");
if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // nor a descendant of the container
{
container.hide();
}
});
它工作正常,但我的页面一次显示 10 篇不同的文章,每篇文章都有文本框 (comment-box
),它们被包裹在 comment-box-wrapper
中并附在每篇文章上,用户可以
提交他们的意见。这些评论框默认设置为隐藏,直到用户单击 评论 按钮。问题是如果用户有
在评论框中输入一些文本并单击其他地方,comment-box
设置为 hidden
,内容完全丢失。
如果 comment-box
中已有一些内容,我如何取消 .hide()
?
$(document).mouseup(function (e){
var container = $(".time-stamp, .full-name, .comment-box-wrapper.not-active .search-result");
if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // nor a descendant of the container
{
container.hide();
}
});
$('.comment-box').on('change', function(){
if(this.value!=""){
$(this).parent().removeClass('not-active');
}
})