focusin 和focus 的执行顺序

来源:互联网 发布:捕风捉影软件 编辑:程序博客网 时间:2024/05/21 09:54

focusin 会先执行(一直冒泡的顶层)之后才是元素的focus 执行

因此无法在元素的focus中 终止掉父元素的focusin 事件
只能在元素的focusin 事件中终止

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title></title>    <script src="./jquery.js"></script></head><body><input id="out" placeholder="out"><div class="container" id="hig">    <div id="def">        <div id="abc">            <input id="i_abc" placeholder="abc">        </div>    </div></div><script>    $(function () {        $("body").on("focusin", "div", function () {            $("#out").focus();        })        $("body").focusin(function (e) {            console.log("fi_body")        })        $("#abc").focusin(function (e) {        // 会终止事件            e.stopPropagation();            console.log("fi_abc")        })        $("#def").focusin(function (e) {            console.log("fi_def")        })        $("#hig").focusin(function (e) {            console.log("fi_hig")        })        $("#i_abc").focus(function (e) {            console.log("f_iabc")            // 无效 不会终止            e.stopPropagation();        })    })</script></body></html>
0 0
原创粉丝点击