求JS获得当前鼠标的位置坐标的方法

求JS获得当前鼠标的位置坐标的方法,第1张

有两种方法

1 用组件的title属性, 这个是HTML中自带的提示属性, 当鼠标停留在组件上的时候, 就会d出提示, 比如<div title="小明">name</div>, 当鼠标停留在div上的时候, 就会有一个小黄框, 显示"小明"

2上面的提示框很不好看, 而且功能很固定, 所以你可以在组建上加一个onmouseover的事件, 记录鼠标的位置, 我写了一个例子, 你看看是不是你需要的:

<script>

var mouseX;

var mouseY;

function showName() {

var infoDiv = documentgetElementById('infoDiv');

infoDivinnerHTML = 'This is the name!';

infoDivstyleleft = mouseX;

infoDivstyletop = mouseY;

infoDivstyledisplay = "block";

}

function mouseOver(obj) {

// 此处记录鼠标停留在组建上的时候的位置, 可以自己通过加减常量来控制离鼠标的距离

mouseX = eventclientX;

mouseY = eventclientY;

}

</script>

<div onclick="showName()" onmouseover="mouseOver()" >Click here to display name</div>

<!-- 用来显示名字的DIV, 根据需要可以修改格式和布局 -->

<div id="infoDiv" style="display: none; position: absolute; width: 100px; height: 50px; background-color: #F1F19B;"></div>

如果要兼容浏览器,最好使用一个库来实现,用鼠标的页面位置减去的页面位置就行了。

比如jquery:

$(document)click(function(e){

alert("X: " + (epageX - $('img')offset()left) + ", Y: " + (epageY - $('top')offset()top));

});

jquery 或者js 获取页面光标所在的元素有如下两种方式:

1通过焦点获取光标所在元素

光标所在一般都在文本框里面(该方法只适用于input,textarea)

$("input:focus") //光标所在input元素的位置

$("textarea:focus")//光标所在textarea元素的位置

$("input:focus,textarea:focus")//光标所在元素的位置

2。通过点击事件获取光标所在元素

获取鼠标点击元素的位置(适用于所有元素)

$("")click(function(e){

$(etarget)//光标所在元素位置

})

首先,获取到事件对象e,

事件来源,IE下面对应的是srcElement,FF下面是target。

下面是一个简单的例子,兼容IE和FireFox

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">

是指Script生成的iframe吧?理论上,iframe内的页面和parent页只有上下级关系,所以鼠标在iframe内的坐标应该不能在父页获取。你可以用documentgetElementById("iframe1")contentDocument得到iframe的document对象,之后 *** 作它得到iframe内的坐标,再与父页中iframe标签左上角坐标叠加就可以。

<title>Js获取适时获取鼠标坐标值并显示</title>

<script type="text/javascript">

var getCoordInDocumentExample = function(){

var coords = documentgetElementById("coords");

coordsonmousemove = function(e){

var pointer = getCoordInDocument(e);

var coord = documentgetElementById("coord");

coordinnerHTML = "X,Y=("+pointerx+", "+pointery+")";

}

}

var getCoordInDocument = function(e) {

e = e || windowevent;

var x = epageX || (eclientX +

(documentdocumentElementscrollLeft

|| documentbodyscrollLeft));

var y= epageY || (eclientY +

(documentdocumentElementscrollTop

|| documentbodyscrollTop));

return {'x':x,'y':y};

}

windowonload = function(){

getCoordInDocumentExample();

};

</script>

<div id="coords" style="width:500px;height:200px;background:#F2F1D7;border:2px solid #0066cc;">

请在此移动鼠标。

</div>

<br />

<div id="coord" style="width:500px;border:2px solid #336699;"> </div>

你说的那一般是js实现的,那就相对复杂多了,其中涉及到事件也很多。具体问题还是要具体看,现在很多在非ie下的代码不少都是用html5+css3完成的,因为只有ie对html5支持最差。

附上代码:

<!DOCTYPE html>

<html>

<head>

<script>

function mousePosition(evt){

evt = evt || windowevent;

var xPos = evtpageX || evtclientX || evtoffsetX || evtx;

var yPos = evtpageY || evtclientY || evtoffsetY || evty;

return [xPos, yPos];

}

function moveWindow (e) {

documentonmousemove = function(e){

resultinnerHTML = mousePosition(e);

};

}

onload = moveWindow;

</script>

</head>

<body>

<div id="result">

<!-- 展示结果 -->

</div>

</body>

</html>

以上就是关于求JS获得当前鼠标的位置坐标的方法全部的内容,包括:求JS获得当前鼠标的位置坐标的方法、js获取鼠标点击事件的相对位置、jquery 或者js 怎么获取页面光标所在的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9437718.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存