首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Document ready的.on()函数没有拾取由'onload‘函数触发的事件

Document ready的.on()函数没有拾取由'onload‘函数触发的事件
EN

Stack Overflow用户
提问于 2017-03-14 03:04:42
回答 1查看 23关注 0票数 0

为什么这个不起作用?

我有一系列事件,其中<body onload=""> ===triggers==> my autoload() function ===should trigger===> $(document).ready ===should trigger==> console.log(' FOCUS/BLUR EVENT ');

现在,我下面的autoLoad()函数明显地被触发了,因为它将输入的背景颜色变为红色,但是控制台中没有记录“焦点事件”或“模糊事件”消息。有了4个<inputs>标签,我想我会得到4个“焦点事件”和4个“模糊事件”消息。

代码语言:javascript
复制
<html>
<head>
    <script src="../../js/jquery-3.1.1.min.js"></script>        
    <script>
        function consoleLogger1() { 
            console.log(' FOCUS EVENT ');
        }
        function consoleLogger2() { 
            console.log(' BLUR EVENT ');
        }
        $(document).ready(function(){                   //EVENT LISTENER
            $("form input").on("focus", consoleLogger1); 
            $("form input").on("blur", consoleLogger2); 
        });
        function autoLoad() {
            $("form input").each(function() {
                $(this).css('background-color', 'red');  //WORKS!
                $(this).focus(); 
                           /*Should trigger the event-listener above 
                           to trigger consoleLogger1 above, but doesn't.*/
                $(this).blur();  
                           /*Should trigger the event-listener above 
                            to trigger consoleLogger2 above, but doesn't.*/
            });  
        }
    </script>

</head>

<!--MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM---DIVIDER---MMMMMMMMMMMMMMMMMMMMMMMMMMM-->

<body onload="autoLoad()">
    <form>
        <input style="width: 136px;"></input><br>
        <input style="width: 136px;"></input><br>
        <input style="width: 136px;"></input><br>
        <input style="width: 136px;"></input><br>
    </form>
</body>

</html>
EN

回答 1

Stack Overflow用户

发布于 2017-03-14 03:59:07

我不知道为什么它不起作用,但一个成功的变通方法是删除两个事件侦听器行...

代码语言:javascript
复制
       $("form input").on("focus", consoleLogger1); 
       $("form input").on("blur", consoleLogger2); 

$(document).ready函数执行...from操作,并将它们作为第一件事插入到实际的autoLoader()函数中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42771516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档