e是咱ㄟ宝贝

前面提到那个e,蕴含着我们与网页互动丰富的资讯。

例如:

  • type:代表事件的类别。
  • target:为触发事件的元素。
  • screenX / screenY:代表事件触发时,滑鼠座标在萤幕解析度上的相对位置。
  • pageX / pageY: 表示事件触发时,滑鼠座标在网页上的相对位置。
  • clientX / clientY: 代表事件触发时,滑鼠座标在浏览器视窗内的相对位置。

我做了一个列表,里面放了倚天剑、屠龙刀还有碧血剑。

<ul id="box">
        <li class="sky">倚天剑</li>
        <li class="dragon">屠龙刀</li>
        <li class="blood">碧血剑</li>
</ul>
<h1>显示e的资讯</h1>
<ul>
        <li>target: <span class="target"></span></li>
        <li>tagName: <span class="tagName"></span></li>
        <li>className: <span class="className"></span></li>
        <li>textContent: <span class="textContent"></span></li>
        <li>screenX: <span class="screenX"></span></li>
        <li>screenY: <span class="screenY"></span></li>
        <li>pageX: <span class="pageX"></span></li>
        <li>pageY: <span class="pageY"></span></li>
        <li>clientX: <span class="clientX"></span></li>
        <li>clientY: <span class="clientY"></span></li>
 </ul>

然後从列表的ul标签来监听滑鼠的点击事件,让getInformation这个函式去捉「事件物件」(event)里面的资讯。

var el = document.getElementById('box');
var target = document.querySelector('.target')
var tagName = document.querySelector('.tagName');
var className = document.querySelector('.className');
var content = document.querySelector('.textContent');
var screenX = document.querySelector('.screenX');
var screenY = document.querySelector('.screenY');
var pageX = document.querySelector('.pageX');
var pageY = document.querySelector('.pageY');
var clientX = document.querySelector('.clientX');
var clientY = document.querySelector('.clientY');
function getInformation (e) {
    target.textContent = e.target;
    tagName.textContent = e.target.tagName;
    className.textContent = e.target.className;
    content.textContent = e.target.textContent;
    screenX.textContent = e.screenX;
    screenY.textContent = e.screenY;
    pageX.textContent = e.pageX;
    pageY.textContent = e.pageY;
    clientX.textContent = e.clientX;
    clientY.textContent = e.clientY;
}
el.addEventListener('click', getInformation, false);

https://codepen.io/popeye_ux/pen/VwbWrXL

可以到Codepen看看我做的范例,应该有进一步的体会。


<<:  Git

>>:  Rust-定义函式Function(三)

网页选择器-30天学会HTML+CSS,制作精美网站

在写网页样式时,最重要的就是选择器的使用,写得好容易理解,修改没烦恼,也可以让网页快速呈现效果。以下...

铁人赛後感言 - 趣闻分享、30天回顾、四大收获、Canvas游戏後续发展

本次铁人赛的作品,你玩过了吗? 先分享一件趣闻 在我上礼拜完成这个音乐游戏後,我将它分享给了一些人...

ISMS 程序书1~4阶着样写

(一)政策性(第一阶文件) 说明ISMS目标、方向及执行原则。 文件:资安政策、资安组织 ISMS-...

使用 KSP 来改善 annotation processor?

就在我们用 KAPT 开发完这个 RSS library 後几个月 KSP 就发布了! KSP 的全...

创建App-自创简略帐号设定

创建App-自创简略帐号设定 由於App的最後设定界面的延伸界面没有设计与排版,因此考虑到学生相关的...