原生js 给多个对象绑定事件, 如果要求不用for 或者 while等循环结构,能实现吗? 请附上代码。谢谢 10

 我来答
liwenhu7
2012-07-20 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:87.1万
展开全部
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<div id="imgDiv">
<img src="001.jpg" style="width: 150px; height: 170px;"> <img
src="002.jpg" style="width: 150px; height: 170px;"> <img
src="003.jpg" style="width: 150px; height: 170px;"> <img
src="004.jpg" style="width: 150px; height: 170px;"> <img
src="005.jpg" style="width: 150px; height: 170px;">
</div>
<script type="text/javascript">
var imgDiv = document.getElementById("imgDiv");
imgDiv.onclick = showMsg;
function getEventTarget(e) {
var target = e ? e.target : (window.event ? window.event.srcElement
: null);
if (!target) {
return null;
}
while (target.nodeType != 1
&& target.nodeName.toLowerCase() != "body") {
target = target.parentNode;
}
return target;
}
function showMsg(e){
var target = getEventTarget(e);
if (target.tagName.toLowerCase() == 'img') {
alert(target.src);
}
}
</script>
</body>
</html>
这个就是事件代理机制,代码里的图片你可以自己替换一下
没用循环,图片的数量不限,同样你也可以将图片替换成其他东西
可以运行,请给分,谢谢
健康生活988
2017-06-05
知道答主
回答量:3
采纳率:0%
帮助的人:3331
展开全部
<div id='tt'>
<span>a</span>
<span>b</span>
<span>c</span>
</div>
<script type="text/javascript">
function aa() {
console.log(2);
document.getElementById('tt').addEventListener('click', (e)=>{
console.log(e.target); //对每个 DOM 进行操作
})
}
aa();
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式