Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么在chrome中日志记录onclcik事件是未定义的? 1 二, 三, 四, 五, 函数pop(事件){ 设ul=document.getElementsByTagName('ul')[0]; console.log(window.event);//有效的mouseEvent console.log(事件)//未定义 }_Javascript_Google Chrome_Onclick_Dom Events_Event Delegation - Fatal编程技术网

Javascript 为什么在chrome中日志记录onclcik事件是未定义的? 1 二, 三, 四, 五, 函数pop(事件){ 设ul=document.getElementsByTagName('ul')[0]; console.log(window.event);//有效的mouseEvent console.log(事件)//未定义 }

Javascript 为什么在chrome中日志记录onclcik事件是未定义的? 1 二, 三, 四, 五, 函数pop(事件){ 设ul=document.getElementsByTagName('ul')[0]; console.log(window.event);//有效的mouseEvent console.log(事件)//未定义 },javascript,google-chrome,onclick,dom-events,event-delegation,Javascript,Google Chrome,Onclick,Dom Events,Event Delegation,所以问题是,为什么记录事件的结果是未定义的,而window.event有一个有效值? Browser-chrome,因为您没有将任何内容传递到pop,所以参数的值是未定义的,当函数需要一个您没有提供参数的参数时,情况总是如此 两种解决方案: 使用现代事件处理(addEventListener等)。Chrome(和其他浏览器)将确保总是使用事件对象调用pop 传递围绕代码生成的函数接收的事件: <ul onClick='pop()'> <li id="1"&g

所以问题是,为什么记录事件的结果是未定义的,而window.event有一个有效值?
Browser-chrome

,因为您没有将任何内容传递到
pop
,所以参数的值是
未定义的
,当函数需要一个您没有提供参数的参数时,情况总是如此

两种解决方案:

  • 使用现代事件处理(
    addEventListener
    等)。Chrome(和其他浏览器)将确保总是使用事件对象调用
    pop

  • 传递围绕代码生成的函数接收的事件:

        <ul onClick='pop()'>
        <li id="1">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
       </ul>
    
        function pop(event) {
        let ul = document.getElementsByTagName('ul')[0];
        console.log(window.event); //Valid mouseEvent
        console.log(event) // Undefined
    }
    
    请注意,
    event
    在该代码段中,它不是全局的,而是浏览器为您生成的函数的本地
    event
    参数,用于环绕您放入属性中的代码


  • 因为您没有将任何内容传递到
    pop
    ,所以参数的值是
    未定义的
    ,当函数需要一个您没有提供参数的参数时,情况总是如此

    两种解决方案:

  • 使用现代事件处理(
    addEventListener
    等)。Chrome(和其他浏览器)将确保总是使用事件对象调用
    pop

  • 传递围绕代码生成的函数接收的事件:

        <ul onClick='pop()'>
        <li id="1">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
       </ul>
    
        function pop(event) {
        let ul = document.getElementsByTagName('ul')[0];
        console.log(window.event); //Valid mouseEvent
        console.log(event) // Undefined
    }
    
    请注意,
    event
    在该代码段中,它不是全局的,而是浏览器为您生成的函数的本地
    event
    参数,用于环绕您放入属性中的代码


  • 下面介绍如何以有效的方式处理事件。您没有将任何事件传递给
    pop

    函数弹出(事件){
    设ul=document.getElementsByTagName('ul')[0];
    console.log(window.event);//有效的mouseEvent
    console.log(事件)//未定义
    }
    document.getElementById(“yourid”).addEventListener(“单击”,弹出)
    
    • 1
    • 二,
    • 三,
    • 四,
    • 五,

    以下是如何以有效的方式处理事件。您没有将任何事件传递给
    pop

    函数弹出(事件){
    设ul=document.getElementsByTagName('ul')[0];
    console.log(window.event);//有效的mouseEvent
    console.log(事件)//未定义
    }
    document.getElementById(“yourid”).addEventListener(“单击”,弹出)
    
    • 1
    • 二,
    • 三,
    • 四,
    • 五,