blur委托的问题

来源:3-10 作业题

纯情掉了一地

2018-01-22 01:17:07

使用inputArr.addEventListener('blur',handler,true) 可以实现委托

但问题是:

  1. 子元素失焦到委托元素外部没有问题,当获得一个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回答

JH鹰

2018-01-22

给  无线循环的加个判断

0

0 学习 · 626 问题

查看课程