菜鸟问个小问题

KeenWon 2011-12-29 10:32:45

function mouseMove(ev) {
ev = ev || window.event;
var mousePos = mouseCoords(ev);
document.getElementById("xxx").value = mousePos.x;
document.getElementById("yyy").value = mousePos.y;
}

function mouseCoords(ev) {
if (ev.pageX || ev.pageY) {
return { x: ev.pageX, y: ev.pageY };
}
return {
x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y: ev.clientY + document.body.scrollTop - document.body.clientTop
};
}

上面是个简单的判断鼠标位置的函数
有两种调用方式
第一种:

document.onmousemove = mouseMove;


第二种:

$(document).ready(function () {
$("#div").click(function () {
mouseMove();
})
})


这里涉及到FF和IE下面event参数的问题,我在ff下面调试程序

现在,第一种有效,第二种无效,这是为什么???

但是有的时候就必须用第二种的形式啊,例如我要另一个函数里调用mouseMove,那该怎么办????

十分感谢!!!!!!!!!!
...全文
98 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenlin1019 2011-12-30
  • 打赏
  • 举报
回复
1、event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等;
2、event对象只在事件发生的过程中才有效。

$(document).ready(function (e) {
alert(e.type);
$("#div").click(function (event) {
alert(event.type);
//mouseMove(event);
})
})
KeenWon 2011-12-29
  • 打赏
  • 举报
回复
谢谢p哥
还有没有人愿意讲讲
p2227 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 semanwmj 的回复:]

$(document).ready(function () {}里面怎么不传一个event
[/Quote]你认为在document.ready这个事件的时候的鼠标坐标对你有用?
p2227 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 semanwmj 的回复:]

哦,可以了
能不能简单讲两句啊哥
[/Quote]你没传参数啊

$(document).ready(function () {
$("#div").click(function (event) {
mouseMove(event);
})
})


或者这样也行

$(document).ready(function () {
$("#div").click(mouseMove);
})
KeenWon 2011-12-29
  • 打赏
  • 举报
回复
$(document).ready(function () {}里面怎么不传一个event
KeenWon 2011-12-29
  • 打赏
  • 举报
回复
哦,可以了
能不能简单讲两句啊哥
KeenWon 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 p2227 的回复:]

HTML code
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js"></script>



<input type="text" id="xxx"/>
<input type="text" id="yyy"/>
<p></p>

<div id="div">点击我吧</div>
<script t……
[/Quote]
好像不行啊,火狐
p2227 2011-12-29
  • 打赏
  • 举报
回复
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js"></script>



<input type="text" id="xxx"/>
<input type="text" id="yyy"/>
<p></p>

<div id="div">点击我吧</div>
<script type="text/javascript">

function mouseMove(ev) {
ev = ev || window.event;
var mousePos = mouseCoords(ev);
document.getElementById("xxx").value = mousePos.x;
document.getElementById("yyy").value = mousePos.y;
}

function mouseCoords(ev) {
if (ev.pageX || ev.pageY) {
return { x: ev.pageX, y: ev.pageY };
}
return {
x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y: ev.clientY + document.body.scrollTop - document.body.clientTop
};
}

$(document).ready(function () {
$("#div").click(function (event) {
mouseMove(event);
})
})

</script>
</script>

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧