如何抓住瞬间输入框失去焦点?

lwi*_*iii 12 html javascript

当输入框失去焦点时,我正在使用这样的事件监听器结构来做一些事情.但它不会起作用.我应该听什么事情来获取当前输入框丢失其中的光标(用户点击它之外)?

document.getElementById('div inside which input is located').addEventListener( 'blur',  function(e){ if(event.target.className=='editInput'){doStuff(event.target);} } , false );
Run Code Online (Sandbox Code Playgroud)

use*_*035 12

正确的事件是onBlur.看看这段代码:

<!DOCTYPE html>
<html>
  <head>
    <title>element</title>
<script type="text/javascript">
  function message() {
            var text = document.getElementById("test").value;
            alert(text);
    }
</script>
  </head>
  <body>
      <input type="text" name="test" id="test">
<script type="text/javascript">
document.getElementById("test").onblur=message;
</script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当它失去焦点时,它可以工作并打印输入内容.也许你的错误是你把事件附加到div而不是输入?


Mel*_*orn 5

var input = document.getElementsByTagName('input')[0];

input.onfocus = function() {
  this.className = 'highlight';
}

input.onblur = function() {
  this.className = '';
}
Run Code Online (Sandbox Code Playgroud)