多个元素的AddEventListener不适用于“焦点”事件

明基猫

我猜我在思考时有一个基本错误,但我无法解决。

我有几个文本字段,我想向其中添加一个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>

扎卡里亚·阿查尔基(Zakaria Acharki)

我认为您必须使用querySelectorAll()它将返回所有inputs:

var fields = document.querySelectorAll('#parent input');

并使用循环将focus事件附加到每个字段:

for (var i = 0; i < fields.length; i++) {
    fields[i].addEventListener('focus', emptyField, false);
}

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

addEventListener不适用于多个链接

来自分类Dev

ddCollapse不适用于多个元素

来自分类Dev

document.addEventListener不适用于加载事件

来自分类Dev

addEventListener函数不适用于“ onkeyup”事件

来自分类Dev

为什么加载事件的addEventListener不适用于div?

来自分类常见问题

click事件不适用于内部标记元素

来自分类Dev

jQuery事件不适用于动态附加的元素

来自分类Dev

点击事件不适用于新插入的元素

来自分类Dev

change事件不适用于动态生成的元素-jQuery

来自分类Dev

Click事件不适用于动态生成的元素

来自分类Dev

事件不适用于通过Ajax放入的元素

来自分类Dev

jQuery click事件不适用于动态添加的元素

来自分类Dev

jQuery事件不适用于新创建的元素

来自分类Dev

Click事件不适用于动态添加的子元素

来自分类Dev

onclick事件不适用于svg元素

来自分类Dev

Jquery 事件不适用于 append() 中的元素

来自分类Dev

多个 OnClick 事件不适用于所有对象

来自分类Dev

联合步骤不适用于多个元素

来自分类Dev

反应悬停/主动/焦点样式css选择器不适用于封闭元素

来自分类Dev

js addeventlistener使用Dragenter的捕获不适用于输入元素

来自分类Dev

onclick事件不适用于选项

来自分类Dev

preventDefault()不适用于更改事件

来自分类Dev

QuerySelectorAll不适用于onclick事件

来自分类Dev

jQuery事件不适用于id

来自分类Dev

jQuery事件不适用于id

来自分类Dev

onClick事件不适用于Android

来自分类Dev

jQuery不适用于按钮事件

来自分类Dev

元素事件侦听器回调不适用于自定义事件

来自分类Dev

元素事件侦听器回调不适用于自定义事件