读书人

js eventClientX,该如何处理

发布时间: 2012-05-21 18:04:41 作者: rapoo

js eventClientX
我建了一个<textarea>,position设为absolute。然后在onmousedown事件里去获取clientX和clientY,总是不对。
比如我的textarea设为top:500px, left:350px; 然后我clientX和y为252,205,而且我每次点的位置不同,但坐标都一样。这是什么原因,该怎么解决?


[解决办法]
然后我clientX和y为252,205,这句话怎么理解?

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script type="text/javascript">window.onload = function() {    document.getElementById('demo').onclick = function(e) {        var e = window.event || e;        alert("X:" + e.clientX + "\nY:" + e.clientY);    }}</script></head><body><textarea id="demo" style="position:absolute; top:500px; left:350px;"></textarea></body></html>
[解决办法]
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gbk" /><title>无标题文档</title><script type="text/javascript">window.onload = function() {    var obj = document.getElementById('demo');    obj.onclick = function(e) {        var e = window.event || e;       // alert("X:" + e.clientX + "\nY:" + e.clientY);        obj.style.left = e.clientX + 'px'        obj.style.top = e.clientY + 'px'    }}</script></head><body><textarea id="demo" style="position:absolute; top:100px; left:150px;"></textarea></body></html> 

读书人网 >JavaScript

热点推荐