老师我有个问题
来源:3-4 事件类型(二)
xchengguang
2019-10-26 11:19:56
这段代码是资料里的源码下载下来的,去除了其他,只剩下了这个,可是浏览器里不生效,你也可以自己下载下来试下,而且为什么打印用的‘join’应该是拼接起来的,但是视频里是单个打印的呢
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件类型</title>
<style>
body {
height: 1000px;
}
input {
width: 300px;
height: 50px;
}
div {
padding: 20px 0;
background: #666;
}
#myDiv {
width: 500px;
height: 500px;
background: lightgreen;
}
</style>
</head>
<body>
<div id="myDiv"></div>
<script type="text/javascript">
var EventUtil = {
addHandler: function (element, type, handler) {
//绑定事件
//Chrome Firefox IE9等 addEventListener
//IE8及IE8以下的浏览器 attachEvent
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler
}
},
removeHandler: function (element, type, handler) {
//移除事件
//Chrome Firefox IE9等
//IE8及IE8以下的浏览器
if (element.removeEventListener) {
element.removeEventListener(type, handler, false);
} else if (element.detachEvent) {
element.detachEvent("on" + type, handler);
} else {
element["on" + type] = handler
}
},
getTarget: function (event) {
return event.target || event.srcElement;
},
preventDefault: function (event) {
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
},
stopPropagation: function (event) {
if (event.stopPropagation) {
event.stopPropagation()
} else {
event.cancelBubble = true;
}
}
}
var div = document.getElementById("myDiv");
EventUtil.addHandler(div, "clcik", function (event) {
var keys = new Array();
if (event.shiftKey) {
keys.push("shift");
}
if (event.ctrlKey) {
keys.push("ctrl");
}
if (event.altKey) {
keys.push("alt");
}
if (event.metaKey) {
keys.push("meta");
}
console.log("keys:" + keys.join(","));
});
</script>
</body>
</html>3回答
好帮手慕星星
2019-10-28
同学你好,
1、如果你点击的时候只按住一个键,那么数组中就会只有一个值。
如果点击的时候按住多个键,数组中就会有多个值。例如:

2、join方法可以不用是因为数组和字符串拼接会转化成字符串,输出结果和使用join方法连接的结果是一样的。如下:


自己可以再测试下,祝学习愉快!
欢迎采纳~
好帮手慕码
2019-10-26
同学你好,关于这个问题已经修改了哟,感谢同学的反馈,祝学习愉快~
好帮手慕码
2019-10-26
同学你好!
源代码中有一个单词写错了,导致无法打印,如下:

打印结果:

另,因为是点击一个后,进行判断,这个事件也不累加,所以这个时候join其实没有起到什么作用的。
源码中的这个问题我们会向上反馈修改哒,但是需要一点时间,同学可以继续往后学习哦~
如果帮助到了你,欢迎采纳,祝学习愉快
相似问题