我猜我在思考时有一个基本错误,但我无法解决。
我有几个文本字段,我想向其中添加一个EventListener。我将它们全部放在一个类中,并将EventListener添加到该类中。当选择的事件是“点击” Everyhing完美的作品。但是,当我将其更改为“焦点”时,什么也不会发生。这是为什么?
这有效:
document.getElementById('parent').addEventListener('click', emptyField, false);
这不是:
document.getElementById('parent').addEventListener('focus', emptyField, false);
文字栏位:
function emptyField(e){
var clicked = e.target;
if (clicked.value == clicked.name) {
clicked.value='';
if (clicked.id=='password') {
clicked.type='password';
}
}
}
<class id="parent">
<input type="text" name="USERNAME" id="username" value="USERNAME"><br>
<input type="text" name="PASSWORD" id="password" value="PASSWORD" ><br>
</class>
我认为您必须使用querySelectorAll()
它将返回所有input
s:
var fields = document.querySelectorAll('#parent input');
并使用循环将focus
事件附加到每个字段:
for (var i = 0; i < fields.length; i++) {
fields[i].addEventListener('focus', emptyField, false);
}
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句