blur委托的问题
来源:3-10 作业题
纯情掉了一地
2018-01-22 01:17:07
使用inputArr.addEventListener('blur',handler,true) 可以实现委托
但问题是:
子元素失焦到委托元素外部没有问题,当获得一个input焦点,然后点击另一个input的时候 会先执行失焦对象的函数,然后无限执行当前input对象函数代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>Title</title>
</head>
<body>
<form id="form">
<input id="a" type="text" title="1">
<input id="b" type="text" title="2">
<input id="c" type="text" title="3">
<button>23</button>
</form>
</body>
</html>
<script type="text/javascript">
var form = document.getElementById('form');
var input_o = {
a: document.getElementById('a'),
b: document.getElementById('b'),
c: document.getElementById('c')
};
// for (var i in input_o) {
// input_o[i].addEventListener('blur', hand)
// }
form.addEventListener('blur',hand,true)
function hand() {
if (event.target.value == "") {
var a=event.target.title
var state=event.type;
alert(a+state)
}
}
</script>
1回答
给 无线循环的加个判断
相似问题
回答 1
回答 1