老师我有个问题
来源: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其实没有起到什么作用的。
源码中的这个问题我们会向上反馈修改哒,但是需要一点时间,同学可以继续往后学习哦~
如果帮助到了你,欢迎采纳,祝学习愉快
相似问题