深刻认识clientX,offsetX,screenX

来源:互联网 发布:易语言收费系统源码 编辑:程序博客网 时间:2024/04/29 19:15

概念(来源于网络):

clientX 设置或获取鼠标指针位置相对于当前窗口的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。
clientY 设置或获取鼠标指针位置相对于当前窗口的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。
offsetX 设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。
offsetY 设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。
screenX 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。
screenY 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。
x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标(亦即相对于当前窗口)。
y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标(亦即相对于当前窗口)。


实验实例(来源于网络,修改过):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

<HTML> 


<BODY onclick='test()' style="margin:0 0 0 0" mce_style="margin:0 0 0 0"> 
<meta charset="utf-8">
<font color=green>设置或获取鼠标指针位置相对于窗口客户区域的 x,y 坐标,其中客户区域不包括窗口自身的控件和滚动条。</font> 
<br/> 
clientX=<INPUT TYPE="text" NAME="x1"> 
clientY=<INPUT TYPE="text" NAME="x2"> 
<br/> 
<br/> 
 
<font color=blue>设置或获取鼠标指针位置相对于触发事件的对象的 x,y 坐标。 </font> 
<br/> 
offsetX =<INPUT TYPE="text" NAME="x3"> 
offsetY =<INPUT TYPE="text" NAME="x4"> 
<br/> 
<br/> 
<font color=green>设置或获取获取鼠标指针位置相对于用户屏幕的 x,y 坐标 </font> 
<br/> 
screenX =<INPUT TYPE="text" NAME="x5"> 
screenY =<INPUT TYPE="text" NAME="x6"> 
<br/> 
<br/> 
<font color=blue>设置或获取鼠标指针位置相对于父文档的 x,y 像素坐标。</font> 
<br/> 
x=<INPUT TYPE="text" NAME="x7"> 
y=<INPUT TYPE="text" NAME="x8">  
<br/> 
<br/> 
<TABLE  align="center" width=400 height=500 border=1 style="border-style:none" mce_style="border-style:none" CELLPADDING=0 CELLSPACING=0 onclick='test()'> 
<TR> 
<TD>a</TD> 
<TD>b</TD> 
</TR> 
<TR> 
<TD>c</TD> 
<TD>d</TD> 
</TR> 
</TABLE> 
</body> 
</html> 
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
function test(){ 
document.all.x1.value=event.clientX; 
document.all.x2.value=event.clientY; 
document.all.x3.value=event.offsetX; 
document.all.x4.value=event.offsetY; 
document.all.x5.value=event.screenX; 
document.all.x6.value=event.screenY; 
document.all.x7.value=event.x; 
document.all.x8.value=event.y; 

//-->  

</SCRIPT>

实验结果分析:

1.  clientX 和x值在实验过程中,没有发现值不一样的例子,所以我认为它们在效果上是一样的!

2.  offsetX 是相对于当前窗口内,本触发事件对象(或者是某一区域)而言,如本例中你单击a区域,值是相对于a所在<td>区域而言,同理b,c,d都一样!

3. clientX ,x,offsetX共同点:它们是相对位置,相对于当前窗口,只是offsetX相对于当前窗口的某个触发对象的父容器而言!

4.  screenX是相对与客户端显示器而言,是绝对位置!


0 0
原创粉丝点击