点击textarea外面隐藏它?

时间:2011-10-27 14:20:23

标签: javascript html

当用户点击它之外的某个地方时,我正在尝试隐藏textarea框。 我在搜索时找到了这个:http://jsfiddle.net/dDFNM/18/

这正是我想要做的,但我有多个文本框,每个文本框都有一个单独的ID(例如notetextarea1,notetextarea2等)。
我对JavaScript知之甚少,所以我不确定该怎么做。

我首先打开了textarea这个函数:

function editnote(id) {
    $('#notetext' + id).hide();
    $('#notetextarea' + id).show();
}

现在我只需要交换它,但我不知道如何让身体点击以知道要隐藏的textarea ID。

2 个答案:

答案 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();”