当输入框失去焦点时,我正在使用这样的事件监听器结构来做一些事情.但它不会起作用.我应该听什么事情来获取当前输入框丢失其中的光标(用户点击它之外)?
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而不是输入?
var input = document.getElementsByTagName('input')[0];
input.onfocus = function() {
this.className = 'highlight';
}
input.onblur = function() {
this.className = '';
}
Run Code Online (Sandbox Code Playgroud)