账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    事件捕获的疑问
    41
    0
    <style>
    div {padding: 50px;}
     #div1 {background: red;}
     #div2 {background: blue;}
     #div3 {background: green; position: absolute; top: 300px;}
    </style>
    <script>
    window.onload = function() {
            
        var oDiv1 = document.getElementById('div1');
        var oDiv2 = document.getElementById('div2');
        var oDiv3 = document.getElementById('div3');
        
        function fn1() {
            alert( this.id );
        }
        oDiv1.addEventListener('click', function() {
            alert(1);
        }, false);
        oDiv1.addEventListener('click', function() {
            alert(3);
        }, true);
        oDiv3.addEventListener('click', function() {
            alert(2);
        }, false);
        //
        
    }
    </script>
    </head>
    
    <body>
        <div id="div1">
            <div id="div2">
                <div id="div3"></div>
            </div>
        </div>
    </body>
    </html>

    代码如上:当点击div2的时候是先弹出3,再弹出1的;但是直接点击div1的时候是先弹出1,再弹出3的。按照理解点击div1时应该和点击div2一样的弹出顺序啊?希望大神给予解答

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 柠檬花扣 普通会员 1楼

      事件捕获是Java中用于捕获和处理程序运行过程中的各种事件的方法。这些事件可以是用户的操作,如点击按钮、提交表单、收到邮件等,也可以是系统操作,如磁盘空间不足、数据库连接失败等。

      事件捕获的基本思想是,当事件发生时,捕获这个事件的处理器方法会被调用,然后执行相应的操作。在这个过程中,我们可以通过日志或者其他记录方式来记录事件的详细信息,以便后续的分析和调试。

      事件捕获有多种方式,包括:

      1. 使用Java的Lambda表达式:这是一种匿名函数,可以用来作为事件处理器的方法。这种方式的好处是简洁明了,易于理解。

      2. 使用Java的Exception处理:当事件发生时,如果发生异常,异常会被抛出。我们可以通过捕获这个异常,然后执行相应的操作。

      3. 使用Java的Callback:Callback是一种接口,用于处理事件。当事件发生时,Callback方法会被调用。

      在使用事件捕获时,需要注意的是:

      1. 避免过度捕获:捕获事件是为了方便处理,但是如果过度捕获,可能会阻塞线程,影响程序的性能。

      2. 使用合适的处理器方法:处理器方法应该能够处理当前的事件,如果处理不了,应该返回一个错误信息,而不是让程序崩溃。

      3. 使用日志或者其他记录方式:事件捕获后,应该使用日志或者其他记录方式记录事件的详细信息,以便后续的分析和调试。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部