首页 > 其他分享 >【前端】鼠标捕获元素信息

【前端】鼠标捕获元素信息

时间:2024-05-20 18:31:40浏览次数:24  
标签:event console target 捕获 element log var 前端 鼠标

function getElementXPath(element) {
        if (element.id !== '') {
            return '//*[@id="' + element.id + '"]';
        }
        if (element === document.body) {
            return '/html/body';
        }

        var ix = 0;
        var siblings = element.parentNode.childNodes;
        for (var i = 0; i < siblings.length; i++) {
            var sibling = siblings[i];
            if (sibling === element) {
                return getElementXPath(element.parentNode) + '/' + element.tagName.toLowerCase() + '[' + (ix + 1) + ']';
            }
            if (sibling.nodeType === 1 && sibling.tagName === element.tagName) {
                ix++;
            }
        }
    }

    document.addEventListener('mouseover', function(event) {
        if (event.target) {
            event.target.style.outline = '2px solid red';
        }
    }, false);

    document.addEventListener('mouseout', function(event) {
        if (event.target) {
            event.target.style.outline = '';
        }
    }, false);

    document.addEventListener('click', function(event) {
        event.preventDefault();
        event.stopPropagation();
        if (event.target) {
            var xpath = getElementXPath(event.target);
            console.log('Element clicked: ', event.target);
            console.log('Tag name: ' + event.target.tagName);
            console.log('Class: ' + event.target.className);
            console.log('ID: ' + event.target.id);
            console.log('XPath: ' + xpath);
        }
    }, false);

 

标签:event,console,target,捕获,element,log,var,前端,鼠标
From: https://www.cnblogs.com/Hello233/p/18202576

相关文章

  • Liunx下通过netcore接口生成前端图片的问题。
    用netcore来生成前端微信Native支付的二维码。1、首先CentOS7.0要安装libgdiplus,命令如下:yuminstalllibgdiplus-devel,然后重启netcore服务。//这个地方要注意,网上有不少例子的下载命令是错的,有的时候安装不上。2、Vs代码使用QRCoder库,代码如下publicstaticMemoryStream......
  • 在数据结构上,后端要求前端在一个对象中添加一个类型字段,并且对该对象的某些属性中都加
    这个需求的合理性取决于具体的应用场景和目的。让我们分析一下:合理性的一面:简化逻辑处理:如果这个类型字段是为了在后端快速区分或过滤不同类型的对象属性,那么在前端就做好标记,可以简化后端处理逻辑,减少在后端进行类型判断的需要。一致性保证:在前端加入类型字段并确保它与对象......
  • 比如开发过程中,后端要求前端将一些没有必要的前端不需要的字段原封不动的传递回去,这样
    后端要求前端将一些不必要的字段原封不动地传递回来,这种做法通常并不合理,主要原因如下:增加数据传输负担:每次请求包含额外无用的字段会增加数据传输的体积,特别是在移动设备或网络条件不佳的情况下,这可能导致响应速度变慢,影响用户体验。资源浪费:无论是服务器带宽、内存还是CPU......
  • 性能实战训练营 - 前端性能分析 - 慧测
     通过火狐浏览器,浏览网站,(开启了yslow)(类似的谷歌的工具是pagespeed)得到页面上各项的得分(参考高性能网站建设指南),字母越靠后,分值越低。 点击可查看详情空点击Componects,查看各个资源的压缩情况和请求消耗时间: 查看yslow的完整报告:danatrace工具可以分析js性能......
  • 网页布局------鼠标悬停标签切换内容
    页面结构<divclass="body-brick"><divclass="body-brick-title"><h2class="body-brick-title-h2">生活电器</h2><divclass="body-br......
  • delphi cxgrid 画鼠标经过的轨迹或者说是鼠标经过下高亮行
    unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,dxSkinsCore,dxSkinsDefaultPainters,dxSkinscxPCPainter,cxStyles,cxCustomData,cxGraphics,cxFilter,cxData,cxDataStorage,cxEdit,......
  • win11系统 鼠标开机后是好的,但是过一会后响应慢变卡顿怎么回事
    刚开机好的,过一会变卡顿1打开控制面板——电源选项选择【平衡】点击【更改计划设置】2 更改USB设置为【已禁用】即可  3顺便把硬盘也改了,免得掉盘 ......
  • 小白总结uniapp微信小程序跨域问题的解决(前端)
    小白总结uniapp微信小程序跨域问题的解决(前端):https://blog.csdn.net/m0_69848498/article/details/137628381?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%AD%98%E5%9C%A8%E8%B7%A8%E5%9F%9F%E9%97%AE%E9%A2%98%E5%90%97&utm_medium=......
  • Django markdown前端页面渲染
    提取目录(方式一)importmarkdownfrommarkdown.extensions.tocimportTocExtensiondefcontent(request,content_id):content_id=int(content_id)content=Content.objects.get(id=content_id)md=markdown.Markdown(extensions=['markdown.extension......
  • 前端使用 Konva 实现可视化设计器(11)- 对齐效果
    这一章补充一个效果,在多选的情况下,对目标进行对齐。基于多选整体区域对齐的基础上,还支持基于其中一个节点进行对齐。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址基于整体的对齐垂直居中水平居中左对齐......