父元素不能捕获input的focus事件?

在一次实验中突然发现,父元素通过addeventlisten不能捕获input的focus事件。但是click事件可以正常捕获。查了很多资料,并没有发现原因,有没有大佬能解答一下?

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Title</title>

</head>

<body>



<div id="parent">


    <p>第1条元素</p>

    <p>第2条元素</p>

    <p>第3条元素</p>

    <p>第4条元素</p>

    <p>第5条元素</p>



    <input type="text" value="第1个输入框">

    <input type="text" value="第2个输入框">

    <input type="text" value="第3个输入框">

    <input type="text" value="第4个输入框">

    <input type="text" value="第5个输入框">


</div>


<script>

    var aa = document.querySelector("#parent");

    var bb = function () {


    };

    

    bb.prototype.control = function () {

        

        aa.addEventListener("blur", function (e) {


            console.log(e);


        })


    }


    var cc = new bb;


    cc.control();



</script>


</body>

</html>

https://img1.mukewang.com/5c99e1cf0001d01908000309.jpg

https://img2.mukewang.com/5c99e1cf0001ab5e08000348.jpg

红颜莎娜
浏览 932回答 3
3回答

慕仙森

是因为这两个事件不会冒泡。详见MDN

FFIVE

focus没有冒泡
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript