为什么div的target.nodeName 显示的input

来源:3-1 DOM中的事件对象

慕标0341363

2017-05-23 11:02

<div id="box">

<input id="btn1" value="按钮一" type="button" onClick="ss()">

<input id="btn2" value="按钮二" type="button">

<input id="btn3" value="按钮三" type="button">

</div>

<script type="text/javascript">

function ss(event){

alert(event.target.nodeName)

}

function xx(event){

alert(event.target.nodeName)

}

var eventUtil={

//添加句柄

addHandler:function(el,type,handler){

if(el.addEventListener){

el.addEventListener(type,handler,false)

}else if(el.attachEvent){

el.attachEvent('on'+type,handler)

}else{

el['on'+type]=handler//用.点的地方都可以用中括号[]

}

},

//删除句柄

removeHandler:function(el,type,handler){

if(el.removeEventListener){

el.removeEventListener(type,handler,false)

}else if(el.detachEvent){

el.detachEvent('on'+type,handler)

}else{

el['on'+type]=null//用.点的地方都可以用中括号[]

}

}

}


eventUtil.addHandler(btn3,'click',ss)

eventUtil.addHandler(box,'click',xx)

</script>

写回答 关注

3回答

  • 慕UI8429273
    2019-03-14 21:40:56

    event事件 是你点击的dom元素所对应的事件,如果你点击input元素,则event.target.nodeName为 input,若你点击<div>不要包含input ,则返回的是div元素名称

  • RobinW
    2017-06-29 10:41:30

    很简单啊,你的button是建立在 input标签上的,只不过是给input标签的type设置成了button而已。

  • 稻鹰
    2017-05-23 16:58:11

    你的事件是绑定在input节点上的

    慕标0341...

    开始是绑定在input上,不是后来会冒泡到input的父级div吗? 第二个应该显示的是div

    2017-05-24 11:28:06

    共 1 条回复 >

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99532 学习 · 1300 问题

查看课程

相似问题