待续0804002

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div id="outer">
            <div id="inner">Leonardo Da Vinci</div>
        </div>
        <button onclick="tiggerMyEvent();">触发事件</button>
        <script>
            document.querySelector("#outer").addEventListener('Leonardo Da Vinci',function(e){
                console.log('捕获事件',e.detail,e);
                console.log('捕获事件',new Date().getTime());
            },false);
            
            function tiggerMyEvent(){
                var evt = (void 0);
                try{ // Chrome浏览器、Firefox浏览器
                    evt = new CustomEvent('Leonardo Da Vinci',{
                        detail:{ // optional and defaulting to null, of type any, that is an event-dependent value associated with the event
                            film:'忍者神龟'
                        },
                        bubbles:true, // (Optional) A Boolean indicating whether the event bubbles. The default is false.
                        cancelable:true // (Optional) A Boolean indicating whether the event can be canceled. The default is false.
                    });
                }catch(e){ // IE Edge浏览器
                    evt = document.createEvent('Event'); // Event type字符串只能是事件模块中定义的值。
                    evt.initEvent('Leonardo Da Vinci',true,true); // the type of event,bubbles,cancelable
                    evt.detail = {
                        film:'忍者神龟'
                    };
                }
                console.log('触发事件',new Date().getTime());
                document.querySelector('#inner').dispatchEvent(evt);
            }
            setTimeout(function(){
                console.log('定时器',new Date().getTime())
            },1);
            for(var i=0;i<10;i++){
                console.log('基准'+i,new Date().getTime());
            }
        </script>
    </body>
</html>
原文地址:https://www.cnblogs.com/sea-breeze/p/7285667.html