为了账号安全,请及时绑定邮箱和手机立即绑定

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

<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 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

慕标0341363 提问者

开始是绑定在input上,不是后来会冒泡到input的父级div吗? 第二个应该显示的是div
2017-05-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信