爱问知识人 爱问教育 医院库

javascript-addEventListener注册了多个相同事件,如何让其中一个触发,其他的失效?

首页

javascript-addEventListener注册了多个相同事件,如何让其中一个触发,其他的失效?


        

提交回答
好评回答
  • 2023-03-13 03:30:04
      html: css: #p {width:300px;height:300px;border:1px solid blue;} #c {width:30px;height:30px;background-color:red;}js:var p=document。
      getElementById('p');var c=document。getElementById('c');registerParentEvent();registerChildEvent();// 注册父元素事件function registerParentEvent(){ p。
      addEventListener('mousedown',function(e){ e。stopPropagation(); console。log('你点击了父元素'); },false); window。addEventListener('mouseup',function(){ console。
      log('你离开了父元素!'); },false);}// 注册子元素事件function registerChildEvent(){ c。addEventListener('mousedown',function(e){ e。stopPropagation(); console。
      log('你点击了子元素'); },false); window。addEventListener('mouseup',function(){ console。log('你离开了子元素!'); },false);}在父元素上鼠标松开后提示:
    你离开了父元素!
    你离开了子元素!在子元素上鼠标松开后提示:
    你离开了父元素!
    你离开了子元素!由于 mouseup 事件注册在 window 上,但是,我需要的效果是,让其能够有分辨力,当鼠标点击的是父元素时,触发的便是和父元素配套的内容,点击子元素时,触发的便是和子元素配套的内容。
      
    html: css: #p {width:300px;height:300px;border:1px solid blue;} #c {width:30px;height:30px;background-color:red;}js:var p=document。
      getElementById('p');var c=document。getElementById('c');registerParentEvent();registerChildEvent();// 注册父元素事件function registerParentEvent(){ p。
      addEventListener('mousedown',function(e){ e。stopPropagation(); console。log('你点击了父元素'); },false); window。addEventListener('mouseup',function(){ console。
      log('你离开了父元素!'); },false);}// 注册子元素事件function registerChildEvent(){ c。addEventListener('mousedown',function(e){ e。stopPropagation(); console。
      log('你点击了子元素'); },false); window。addEventListener('mouseup',function(){ console。log('你离开了子元素!'); },false);}在父元素上鼠标松开后提示:
    你离开了父元素!
    你离开了子元素!在子元素上鼠标松开后提示:
    你离开了父元素!
    你离开了子元素!由于 mouseup 事件注册在 window 上,但是,我需要的效果是,让其能够有分辨力,当鼠标点击的是父元素时,触发的便是和父元素配套的内容,点击子元素时,触发的便是和子元素配套的内容。
      window 只需要绑定一次即可,通过 event。target 来判断事件触发者。window。addEventListener('mouseup',function(e){ console。log('你离开了: ' + e。target。
      id);},false);常规的写法:p。addEventListener('mousedown',function down(e){ window。addEventListener('mouseup',function up(){ window。
      removeEventListener('mouseup', up); //p=>up }); //p=>down});。

    无***

    2023-03-13 03:30:04

类似问题

换一换
  • 电脑/网络 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):