cari

Rumah  >  Soal Jawab  >  teks badan

javascript - e.detail.id是什么?

e.target.id是目标事件源,e.detail.id是什么呢?

伊谢尔伦伊谢尔伦2814 hari yang lalu1096

membalas semua(1)saya akan balas

  • 阿神

    阿神2017-04-11 09:43:53

    标准 Event 对象里面肯定没有这个属性
    应该是走了一层代理 比如:

    <a id="xxx" href="javascript:;" data-click="GetId">Get Id</a>
    let clicks = {
    
      GetId(e) {
        window.alert(e.detail.id)    
      }
    
    }
    
    ;[...document.querySelectorAll('[data-click]')].forEach(el => {
    
      el.addEventListener('click', e => {
        let me = e.currentTarget
        let func = clicks[me.dataset.click]
        // 添加 detail 属性
        e.detail = {
          id: me.getAttribute('id')
        }
        typeof func === 'function' && func.call(me, e)
      })
    
    })

    balas
    0
  • Batalbalas