clientX和clientY 事件属性的使用

简介: clientX和clientY 事件属性的使用
需求:

做项目中遇到一个这样的需求,点击属性菜单节点,出现显示框,显示框的位置随着鼠标点击的位置距离而改变。

基本定义

clientX 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(或客户区)的水平坐标。客户区指的是当前窗口。

clientY 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(客户区)的垂直坐标。 客户区指的是当前窗口。

遇到的坑

这个功能在一些浏览器里面的兼容性和适配性的介绍

jQuery右键点击弹出菜单,菜单随鼠标点击的位置的变化而变化
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
    </head>
    <body>
        <div class="dropdown open" id="treeContextMenu" style="display: none;position: absolute">
            <ul class="dropdown-menu">
                <li>
                    <a href="javascript:;" id="toUpdateBtn">编辑</a>
                </li>
                <li>
                    <a href="javascript:;" id="deleteBtn">删除</a>
                </li>
            </ul>
        </div>
    </body>
    <script>
        //屏蔽浏览器右键菜单
        document.oncontextmenu = function() {
            return false;
        }
        //按下鼠标
        $(document).mousedown(function(e) {
            var key = e.which;
            //获取鼠标键位
            if(key == 3)
            //(1:代表左键; 2:代表中键; 3:代表右键)  
            {
                //获取右键点击坐标
                var x = e.clientX;
                var y = e.clientY;
                $("#treeContextMenu").show().css({
                    left: x,
                    top: y
                });
            }
        });
        //点击任意部位隐藏
        $(document).click(function() {
            $("#treeContextMenu").hide();
        })
    </script>
</html>
相关文章
05jqGrid - 事件
05jqGrid - 事件
34 0
|
1月前
|
JavaScript 前端开发
除了点击事件,`addEventListener` 还能用于处理哪些事件类型?
【10月更文挑战第29天】 `addEventListener` 能够处理的事件类型非常丰富,涵盖了各种用户交互和页面状态变化的场景,通过合理地使用这些事件类型,可以为网页或应用程序添加丰富多样的交互效果和功能。
|
7月前
oninput事件和onchange事件的区别?
oninput事件和onchange事件的区别?
|
7月前
失焦事件和点击事件
失焦事件和点击事件
41 1
|
API
drag事件
drag事件
94 0
|
JSON 数据格式
onchange事件
onchange事件
61 0
|
JavaScript 程序员
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
163 0
【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
14、事件类型(鼠标事件、键盘事件、触屏事件)
14、事件类型(鼠标事件、键盘事件、触屏事件)
161 0
|
JavaScript
click与addEventListener和removeEventListener事件详解
click与addEventListener和removeEventListener事件详解
click与addEventListener和removeEventListener事件详解
|
JavaScript 前端开发