首页 » JavaScript » clientX与clientY

clientX与clientY

鼠标事件都是在浏览器视口中的特定位置上发生的。这个位置信息保存在事件对象的clientX和clientY属性中。所有浏览器都支持这两个属性,它们的值表示事件发生时鼠标指针在视口中的水平和垂直坐标。

可以使用类似下列代码取得鼠标事件的客户端坐标信息:

var EventUtil = {
    getEvent: function (event) {
        return event ? event : window.event;
    },
    addHandler: function (element, type, handler) {
        if (element.addEventListener) {
            element.addEventListener(type, handler, false);
        } else if (element.attachEvent) {
            element.attachEvent("on" + type, handler);
        } else {
            element["on" + type] = handler;
        }
    }
};
var div = document.getElementById("myDiv");
EventUtil.addHandler(div, "click", function (event) {
    event = EventUtil.getEvent(event);
    alert(" Click coordinates: " + event.clientX + "," + event.clientY);
});

这里为一个<div>元素指定了onclick事件 处理程序。当用于点击这个元素时,就会看到事件的客户端坐标信息。注意,这些值不包括页面滚动的距离,因此这个位置并不表示鼠标在页面上的位置。

此文章发表在 JavaScript 标签为 . 将固定链接加入收藏.