代码之家  ›  专栏  ›  技术社区  ›  Willem van der Veen

Javascript,无法命名事件处理程序click

  •  1
  • Willem van der Veen  · 技术社区  · 6 年前

    今天我正在实现一个点击列表器,无意中发现了以下内容:

    function click (val) {
      console.log(val)
    } 
    
    function random (val) {
      console.log(val)
    } 
    div:hover {
    background-color: blue;
    cursor: pointer;
    }
    <div onclick="click(1)">test1</div>
    <div onclick="random(1)">test2</div>

    for , if while 为什么我不能用呢?还有其他我不能用的函数名吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Estus Flask    6 年前

    onclick 属性代码在其所属的DOM元素的上下文中求值。因为一个元素 has click function ,它的阴影 点击 全球的。

    example :

    <div onclick="
      console.log(
        typeof click === 'function', // true
        this.click === click, // true
        document.querySelector('div').click === click // true
      );
    ">test</div>
    

    addEventListener 而不是 是正当的。