clientX和clientY 事件属性的使用

需求:

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

教程:

clientX 事件属性
http://www.runoob.com/jsref/event-clientx.html

clientY 事件属性
http://www.runoob.com/jsref/event-clienty.html

基本定义

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

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

图片.png

遇到的坑

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

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>

原文作者:祈澈姑娘
技术博客:https://www.jianshu.com/u/05f416aefbe1
90后前端妹子,爱编程,爱运营,爱折腾。坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,558评论 1 11
  • 事件是什么,可以用来做什么,什么时候用到它? 事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。JavaScr...
    茂茂爱吃鱼阅读 1,546评论 0 16
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,879评论 1 45
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,222评论 0 21
  • JavaScript 与 HTML 之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬...
    LemonnYan阅读 700评论 0 4