首页
学习
活动
专区
圈层
工具
发布

JavaScript 获取鼠标及元素在页面上的位置

另外,还有哪些能快速获取标签在页面中的位置信息? 在书写一些“拖拽”页面交互效果,比如常见的拖拽效果、自定滚动条、放大镜等效果,都需要用到了鼠标或元素在页面上的位置信息。...另外,也要跟大家分享一个方法,它能快速的获取元素在页面上的位置信息,不同于之前学过的offsetLeft等属性,它就是——getBoundingClientRect()方法 回顾clientX/Y获取鼠标位置的方式...等属性来获取元素的尺寸、位置等信息,想具体了解的可以回复“元素信息”到HTML5学堂公众号。...今天要给大家分享的是另外一种快速获取元素在页面上的位置,赶紧尝试书写一下下面的实例 代码实例: 获取到的值为2,非IE获取到的值为0; // 这样保证在各个浏览器的效果都是一致的 // 分别减去多出来的2px return

4.8K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    getBoundingClientRect方法获取元素在页面中的相对位置

    获取元素位置可以用 offset 或 getBoundingClientRect,使用 offset 因为兼容性不好,比较麻烦,offset获取位置会形成“回溯”。...2.在IE8及以下的浏览器中,返回值对象包含的属性值有: top::元素上边缘距离文档顶部的距离; right: 元素右边缘距离文档左边的距离; bottom:元素下边缘距离文档顶部的距离; left:...元素左边缘距离文档左边的距离; 3.在IE9以上、谷歌、火狐等浏览器中,返回值对象包含的属性值有: top: 元素上边缘距离文档顶部的距离; right:元素右边缘距离文档左边的距离; bottom:元素下边缘距离文档顶部的距离...; left:元素左边缘距离文档左边的距离; width:元素的宽度(包含 padding 和 border) height:元素的高度(包含 padding 和 border) 4.在IE8及以下浏览器没有...width 和 height 属性的解决方法: 在IE8及以下浏览器中,可以通过计算得到元素的宽和高: 如: var dom = document.querySelector("#demo"), r

    6.2K20

    WPF 获取元素(Visual)相对于屏幕设备的缩放比例,可用于清晰显示图片

    我们知道,在 WPF 中的坐标单位不是屏幕像素单位,所以如果需要知道某个控件的像素尺寸,以便做一些与屏幕像素尺寸相关的操作,就需要经过一些计算(例如得到屏幕的 DPI)。...你可以阅读我的另一篇博客了解到有效像素单位: 将 UWP 的有效像素(Effective Pixels)引入 WPF 有效像素主要就是考虑了 DPI 缩放。于是实际上我们就是在计算 DPI 缩放。...于是我们需要找到 WPF 窗口中的根元素,可以通过不断查找可视化树的父级来找到根。...1 2 3 // VisualRoot 方法用于查找 visual 当前的可视化树的根,如果 visual 已经显示,则根会是窗口中的根元素。...要获取某个 Visual 相比于屏幕的缩放量,则调用 GetScalingRatioToDevice 方法即可。

    1.4K40

    准确判断一个 WPF 控件 UI 元素当前是否显示在屏幕内

    你的 WPF 窗口是可以拖到屏幕外面去的,所以拉几个元素到屏幕外很正常。你的屏幕可能有多个。你的多个屏幕可能有不同的 DPI。你检测的元素可能带有旋转。...判断 UI 元素的位置,其右侧是否在屏幕最左侧,其底部是否在屏幕最上面;或者其左侧是否在屏幕最右侧,其顶部是否在屏幕最下面。... /// 如果元素在屏幕外面,则返回 true;如果元素在屏幕里或者部分在屏幕里面,则返回 false。... /// 如果元素在屏幕外面,则返回 true;如果元素在屏幕里或者部分在屏幕里面,则返回 false。...项目,我们也需要引用 Windows Forms,用于获取屏幕相关的信息。

    1.6K40

    WPF:无法对元素“XXX”设置 Name 特性值“YYY”。“XXX”在元素“ZZZ”的范围内,在另一范围内定义它时,已注册了名称。

    WPF:无法对元素“XXX”设置 Name 特性值“YYY”。“XXX”在元素“ZZZ”的范围内,在另一范围内定义它时,已注册了名称。...“XXX”在元素“ZZZ”的范围内,在另一范围内定义它时,已注册了名称。 ---- 编译错误 编译时,出现错误: 无法对元素“XXX”设置 Name 特性值“YYY”。...“XXX”在元素“ZZZ”的范围内,在另一范围内定义它时,已注册了名称。 MC3093: Cannot set Name attribute value ‘X’ on element ‘Y’....于是需要提醒大家注意: 在 WPF 里,拥有直接的 XAML 文件的始终应该作为最终用户界面,不应该当作控件使用(不要试图在其他地方使用时还设置其 Content 属性); 如果你确实希望做控件,请继承自...如果你不清楚如何编写一个自定义控件,那么请直接在 Visual Studio 中基于 WPF 自定义控件创建文件,你会发现 Visual Studio 为你写好了注释。

    4.5K20

    WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls 的 InkCanvas 时加上背景色和按钮方法

    包,请参阅 WPF 引用 UWP 控件 不打包为 MSIX 分发的方法 在开始之前,需要了解的是 UWP 的 InkCanvas 控件是没有背景色这个属性的,也就是说 UWP 的 InkCanvas 控件需要依靠外层的容器或者背后的元素给的颜色作为背景色...但是在 WPF 里面 HOST 了 UWP 的控件的方式,相当于将 UWP 作为一个窗口嵌入到 WPF 应用里面,这就意味着在 UWP 控件所在的范围,不能使用 WPF 的渲染,在此范围里面的元素都被...InkCanvas x:Name="InkCanvas" Loaded="InkCanvas_OnLoaded"> 为了能在鼠标下进行绘制...,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com...github 的源 git remote remove origin git remote add origin https://github.com/lindexi/lindexi_gd.git 获取代码之后

    3.3K20

    达观金克:RPA界面元素智能自适应定位与操控技术

    但是一般要求屏幕分辨率和应用窗口大小固定,而且无法保证定位到的界面元素是否正确。02 图像匹配定位图像匹配,在待匹配图像中寻找与目标图像相似性高的单个或多个目标,并获取目标的坐标位置。...通过对应用程序窗口发送特定的消息,可以实现对指定界面元素的点击输入等操作。04 模拟键鼠操作模拟键鼠可分为消息模拟、API模拟、驱动模拟三种。...MSAA旨在帮助辅助技术产品与应用程序(或操作系统)的标准和自定义用户界面元素进行交互。它支持WFC、VB6、VCL、WinForms、WPF等窗体。MSAA 主要基于 COM 技术。...例如执行点击按钮操作, UIA 统一归类于Invoke, 无论是Win32、 WPF还是Silverlight按钮,都可以通过Invoke实现点击,不用关心具体实现方式是模拟键鼠还是调用Windows...在界面元素分析器和应用程序的通信过程中,跨系统兼容的自动化技术切换器会根据获取到的应用程序信息按照规则自动切换,对接相应的自动化技术接口,用获取到的界面元素信息来构建抽象元素对象以及文档对象模型。

    1.9K10

    WPF UNO 测试固定尺寸且水平和垂直对齐设置 Stretch 的元素在容器内的布局行为

    本文将告诉大家我对 WPF 的自定义布局容器和自定义控件进行的布局行为测试中的一个小点,即测试固定元素的尺寸的情况下或元素尺寸为有限尺寸的情况下,同步设置元素的水平和垂直对齐为 Stretch 来测试元素在容器内的布局行为...,元素分别在容器给元素的布局尺寸大于元素的尺寸和小于元素尺寸的行为 由于刚好运行在 WPF 之上 UNO 框架里的元素行为和 WPF 原生布局行为是完全相同的,本文也作为 UNO 的元素布局测试记录内容...,和测试在布局尺寸空间小于元素所需尺寸时的压缩元素裁剪行为 对 WPF 和跑在 WPF 框架之上的 UNO 框架的测试行为都符合下图 根据上图可以知道,当上层容器给定元素的可布局尺寸大于元素所需尺寸时,...当上层容器给定元素的可布局尺寸小于元素所需尺寸时,元素行为将和左上对齐时相同 本文以上代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行...cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com/lindexi/lindexi_gd.git

    85510

    WPF 程序鼠标在窗口之外的时候,控件拿到的鼠标位置在哪里?

    在 WPF 程序中,我们有 Mouse.GetPosition(IInputElement relativeTo) 方法可以拿到鼠标当前相对于某个 WPF 控件的位置,也可以通过在 MouseMove...不过,在任意时刻去获取鼠标位置的时候,如果鼠标在窗口之外,将获取到什么点呢? 本文将介绍鼠标在窗口之外时获取到的鼠标位置。...---- 可用于演示的 DEMO 直接使用 Visual Studio 2019 创建一个空的 WPF 应用程序。默认 .NET Core 版本的 WPF 会带一个文本框和一个按钮。...如果不知道客户区是什么,可以阅读下面我的另一篇博客: WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome) 在以上图中,我拖动改变了窗口的位置...而鼠标在窗口客户区之外的时候,此方法将返回 0,并且经过后面的 ToPoint() 方法转换到控件的坐标下。于是这才得到了我们刚刚观察到的坐标值。

    1.5K40

    WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls 的 InkCanvas 做高性能笔迹应用

    因此咱将在后台代码的 InkCanvas_Loaded 设置让笔迹控件可以在鼠标下画出笔迹 private void InkCanvas_Loaded(object sender, RoutedEventArgs...更多请看 VisualStudio 快速设置启动项目 如果期望在服务器做自动打包,可以在命令行,进入打包应用的 csproj 所在文件夹,输入下面命令即可自动构建 msbuild -restore 通过以上命令即可构建出...和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote...github 的源 git remote remove origin git remote add origin https://github.com/lindexi/lindexi_gd.git 获取代码之后...WPF 渲染原理 高性能笔迹原理 WPF 高性能笔 WPF 高速书写 StylusPlugIn 原理 WPF 最小的代码使用 DynamicRenderer 书写 WPF 使用 Composition

    1.7K40

    RPA界面元素定位与操控技术详解-达观数据

    基于键鼠模拟:在获取到目标元素后,如果目标元素不支持任何 AT 或消息,我们还可以简单粗暴地利用键鼠模拟来操作。...通过 IAccessible 来表示 UI 界面元素的信息。提供了如 AccessibleObjectFromWindow 等 API 来获取它。MSAA 可以查询元素信息,比如特定位置的元素信息。...另外就是微软推出 WPF 以后,MSAA 的局限性越加明显(这也是因为 WPF 的控件属性更加丰富、更具定制性、更自由,用 MSAA 难以描述),这也是微软推出 UIAutomation 的一个的原因。...它是如何工作的:提供信息的应用称为 Server;负责处理事件通知 NotifyWinEvent;获取元素信息 WM_GETOBJECT。Server 通过 IAccessible 来返回元素信息。...UIA 用户界面自动化UIA 是微软新一代的 Accessibility 框架,在所有支持 WPF 的操作系统上都支。UIA 提供了大多数 UI 元素可编程访问的能力。

    1.5K20

    Web API - DOM 第一节(获取元素)

    (标签,属性,文本,注释等),DOM中使用node表示 DOM把以上内容都看作对象 ---- 获取元素 如何获取页面元素 根据ID获取 根据标签名获取 用过H5新增的方法获取 特殊元素获取 根据ID获取...使用 getElementById获取带有ID的元素对象 Document的方法 getElementById()返回一个匹配特定 ID的元素....由于元素的 ID 在大部分情况下要求是独一无二的,这个方法自然而然地成为了一个高效查找特定元素的方法。...('li'); console.log(tag); 返回: 返回的是获取过来元素对象的集合,以伪数组的形式存储的 也就是说我们可以通过提取数组元素的方法得到其中一个元素的内容。...---- 例如: console.log(tag[0]); 通过这个,我们可以得到第一个元素的内容:猫狗鼠鱼 如下图: 通过遍历的方式依次打印其中的元素 如果我们想依次打印里面的元素,可以使用遍历的方式

    1.1K40

    Protel99SE快捷键大全

    光标左移10个电气栅格 右箭头——光标右移1个电气栅格 shift+右箭头——光标右移10个电气栅格 上箭头——光标上移1个电气栅格 shift+上箭头——光标上移10个电气栅格 下箭头——光标下移...1个电气栅格 shift+下箭头——光标下移10个电气栅格 ctrl+1——以零件原来的尺寸的大小显示图纸 ctrl+2——以零件原来的尺寸的200%显示图纸 ctrl+4——以零件原来的尺寸的...将选定对象以右边缘为基准,靠右对齐 ctrl+h——将选定对象以左右边缘的中心线为基准,水平居中排列 ctrl+v——将选定对象以上下边缘的中心线为基准,垂直居中排列 ctrl+shift+h——将选定对象在左右边缘之间...shift+v——将选定对象在上下边缘之间,垂直均布 f3——查找下一个匹配字符 shift+f4——将打开的所有文档窗口平铺显示 shift+f5——将打开的所有文档窗口层叠显示 shift+单左鼠—...—选定单个对象 crtl+单左鼠,再释放crtl——拖动单个对象 shift+ctrl+左鼠——移动单个对象 按ctrl后移动或拖动——移动对象时,不受电器格点限制 按alt后移动或拖动——移动对象时

    2.5K20

    windows GUI自动化怎么做

    pyperclip 剪切板 pymouse 鼠標操作 pykeyboard 鍵盤曹祖 win32com win32gui pyautogui pywinauto uiautomation pywin32...UIautomation 1.uiautomation的安装 pip install uiautomation 2.uiautomation的使用   在cmd中运行automation.py -t 3...#3秒后遍历最上层窗口的控件 -f, 抓取焦点处控件 -n, 显示控件的完整name -c, 遍历光标下的控件 -d,遍历的层级   import uiautomation as auto   window...ClassName="CabinetWClass",searchDepth=1) #控制面板窗口  window.SwitchToThisWindow() # 切换窗口 Uiautomation元素获取方法如下...) 如果需要处理菜单: MenuSelect方法自动检索Notepad上的菜单选项 例如:点击“帮助->关于记事本”操作; app.Notepad.MenuSelect('帮助->关于记事本') 项目在企业微信

    3K40

    【react-dnd使用总结一】拖放完成后获取放置元素在drop容器中的相对位置

    工具函数-根据元素的起始位置和最终位置,计算相对于某元素的位置 export interface IPosition { left: number; top: number; } /** *...根据元素的其实位置和最终位置,计算相对于某元素的位置 * @param initialPosition 拖动元素相对于屏幕左上角的起始位置(偏移量) * @param finalPosition 拖放完成后当前节点相对于屏幕左上角的位置...* @param containerEle 目标容器元素 * @returns */ export const getCorrectDroppedOffsetValue = ( initialPosition...: any, finalPosition: any, containerEle: HTMLDivElement, ): IPosition => { // 获取容器的位置信息 rect 信息包含...finalX) - dropTargetPosition.left; return { left: newXposition, top: newYposition, }; }; 在drop

    5.9K10

    WPF入门到放弃(八)| 常用的控件(二)

    WPF入门到放弃(一) | 安装与创建 WPF入门到放弃(二) | 初识XAML WPF入门到放弃(三)| 制作串口调试助手 WPF入门到放弃(四)| 给串口调试助手列表赋值(附调试软件) WPF入门到放弃..., 请关注“剑指工控“微信公众号后, 添加管理员, 加入剑指工控微信群后获取。...下图是在工程项目下新建个文件夹放置图片,然后在GroupBox中显示。 Image:表示用于显示图像的控件。 Source 获取或设置图像的图像路径。...用ListBoxItem 设置子元素内容。 ListBox除了能将条目以字符串的形式展示,还能显示更多的元素。...常用属性: Child:获取或设置一个ViewBox元素的单一子元素。 Stretch:获取或设置拉伸模式以决定该组件中的内容以怎样的形式填充该组件的已有空间。

    2.1K20

    鼠年潮玩MouseQ设定

    和鼠的结合上希望避开过多鼠的特性,避免整个造型过于类似真正的老鼠;我们选择拆解出鼠的标志性特征——耳朵、胡须及尾巴,但如果直接把这些元素强加于QQ本身,会不自然也会破坏掉QQ本身的造型;那能否有一样可以将这些元素完美组装而且还能看起来更潮一些的介质呢...对于QQ公仔的研发调性来讲,我们希望QQ可以是更年轻更潮的方向,潮流文化中服饰和潮鞋基本是最大的体现方向,鼠元素以及潮流元素的想法碰撞之后,我们想到一个完美的融合方案,用连帽衫将耳朵和尾巴与QQ结合在一起...QQ金鼠集街头元素和可爱萌态于一身,卫衣、潮鞋、最in撞色鼠耳设计,双手插入身前口袋,触感柔软。...凭借亮眼的颜色,酷萌的外形,潮爆的服饰以及隐藏彩蛋所赋予的好意头,在刚刚过去,好物云集的腾讯设计周(TDW)和9月份举行的第一届PTX企鹅潮玩展上,QQ毛绒金鼠鹅一经推出便吸引广大顾客驻足停留,并即刻下单抱走...Part 3 获取途径 1.MouseQ潮玩 发售时间:火爆预售已开启,实物预计2020年1月3日发货。

    86220
    领券