
有两种方法
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 怎么获取页面光标所在的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)