点击 Html Select 中的option标签时获得的鼠标坐标与点击页面上的其他地方存在差异

<select id="px">
	<option>123213213</option>
	<option>123213123</option>
	<option>21321321321313</option>
</select>


$("body").click(function(e){
		console.log("x:"+e.clientX);
		console.log("y:"+e.clientY);
	});


标题有点长,呵呵,代码如上。

clientX设置或获取鼠标指针位置相对于窗口区域的 x 坐标,其中窗口区域不包括窗口自身的控件和滚动条”

当鼠标点击在select弹出的option框中时,其X和Y坐标并不相对于窗口区域,而是相对于这个option框的左上角。

screenX是“设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标”

当用screenX去获取的时候,X和Y坐标确实是相对于屏幕的左上角的。

offsetX是“设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标”

当用offsetX去获取鼠标点击的坐标时,其X和Y也是相对于option框的


总而言之,点击option框时用clientX或offsetX获取鼠标点击坐标时,与点击页面上的其他地方存在差异,使用的时候要特别的注意。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值