当用户点击它之外的某个地方时,我正在尝试隐藏textarea框。 我在搜索时找到了这个:http://jsfiddle.net/dDFNM/18/
这正是我想要做的,但我有多个文本框,每个文本框都有一个单独的ID(例如notetextarea1,notetextarea2等)。
我对JavaScript知之甚少,所以我不确定该怎么做。
我首先打开了textarea这个函数:
function editnote(id) {
$('#notetext' + id).hide();
$('#notetextarea' + id).show();
}
现在我只需要交换它,但我不知道如何让身体点击以知道要隐藏的textarea ID。
答案 0 :(得分:0)
使用全局变量记录您关注的最后一个textarea。然后在身体上点击,获取该ID以隐藏相应的textarea。
var textareaID = "";
$(function() {
$('body').click(function(event) {
if(textareaID != '') {
// hide last focused textarea/input
$('#' + textareaID).hide();
}
});
$('p').click(function(event) {
event.stopPropagation();
$('p').hide();
$('#textEdit').show();
});
$('#textEdit').focusin(function() {
textareaID = $(this).id(); // set id to global var.
});
});
我没有测试这段代码,但我只想指出你可以使用的想法。
答案 1 :(得分:0)
为什么不使用onblur事件处理程序?把它放在textarea定义中:onblur =“this.hide();”