检测在文本字段外单击

don*_*y76 0 html javascript css jquery

我有一个提交按钮和一个文本字段.我知道如何检测用户在文本字段内单击的时间.基本上我正在做的是,当用户在文本字段内单击时,隐藏文本.

if(submitTextArea.addEventListener){
                    submitTextArea.addEventListener("click", function() {
                        if (submitTextArea.value == 'Enter First Name'){//Customize this text string to whatever you want
                            submitTextArea.value = '';
                        }
                    });
                }
Run Code Online (Sandbox Code Playgroud)

现在,当用户点击文本字段时,即在文本字段外的某个其他区域,我想要恢复文本.

如何检测外部文本字段?

Pio*_*ido 7

你要找的是一个blur事件.

submitTextArea.addEventListener("blur", function() {
  // code here
});
Run Code Online (Sandbox Code Playgroud)

在这里,您可以获得JavaScript支持浏览器的整页活动:http://www.quirksmode.org/dom/events/


如果您为此任务使用focusblur事件也会更好,以便该click事件可用于其他操作.

工作小提琴:http://jsfiddle.net/urahara/6nspgrj4/2/

码:

submitTextArea.addEventListener("focus", function () {
    submitTextArea.value = 'Got focus';
});

submitTextArea.addEventListener("blur", function () {
    submitTextArea.value = 'Lost focus';
});    
Run Code Online (Sandbox Code Playgroud)