在Firefox中如何添加触发事件

神之泪花 2010-03-18 12:03:21
在我的JS文件中有三个function,分别为a,b,c

在IE下通过绑定事件的方式将a,b,c绑定到鼠标事件中

document.onmousedown = a; 
document.onmousemove = b;
document.onmouseup = c;


因为需要兼容Firefox

我在FireFox下的代码如下:
document.addEventListener('mousedown', a, true); 
document.addEventListener('mousemove', b, true);
document.addEventListener('mouseup', c, true);


但是用上面的这段JS代码没有实现绑定事件,请高人指点,多谢!
...全文
258 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
神之泪花 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 rainsilence 的回复:]
以上是在chrome下的测试结果
在FF下必须写全document.addEventListener('mousedown', a, true);
或者document.body.addEventListener('mousedown', a, true);
另外你的问题可能是body没有撑开

看我这里的代码
<div style="height:900px; width:900px……
[/Quote]

在chrome下没问题,就是FF下有问题
神之泪花 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 rainsilence 的回复:]
另外document.onmousedown = a; 的写法理论上支持全浏览器,已经在ie, ff, chrome下测试通过。但是这种写法有缺陷。就是一种事件只能绑定一个函数

要绑定多个函数,最常用的共通函数为:

function addEventListener(control, eventName, fn) {

if (window.attachEvent) {
cont……
[/Quote]

我试试通用的,
rainsilence 2010-03-18
  • 打赏
  • 举报
回复
另外document.onmousedown = a; 的写法理论上支持全浏览器,已经在ie, ff, chrome下测试通过。但是这种写法有缺陷。就是一种事件只能绑定一个函数

要绑定多个函数,最常用的共通函数为:

function addEventListener(control, eventName, fn) {

if (window.attachEvent) {
control.attachEvent('on' + eventName, fn);
} else if(window.addEventListener) {
control.addEventListener(eventName, fn, false);
} else {
control['on' + eventName] = fn;
}
}
rainsilence 2010-03-18
  • 打赏
  • 举报
回复
以上是在chrome下的测试结果
在FF下必须写全document.addEventListener('mousedown', a, true);
或者document.body.addEventListener('mousedown', a, true);
另外你的问题可能是body没有撑开

看我这里的代码
<div style="height:900px; width:900px;">

</div>
rainsilence 2010-03-18
  • 打赏
  • 举报
回复
<script type="text/javascript">
function mouseOver() {
alert(3);
}

function init() {

document.body.addEventListener("mousemove", mouseOver);

}

</script>
</head>
<body onload="init();">
<div style="height:900px; width:900px;">

</div>

</body>
神之泪花 2010-03-18
  • 打赏
  • 举报
回复
问题解决了,感谢各位的捧场,

来者有分,结贴,
神之泪花 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 rainsilence 的回复:]
我在FF3.0下测试通过。。。

另外你的问题可能是body没有撑开

看我这里的代码
<div style="height:900px; width:900px;">

</div>
[/Quote]

body里的内容显示出来了,
rainsilence 2010-03-18
  • 打赏
  • 举报
回复
把我这段代码直接丢到ff下试试

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function mouseOver() {
alert(3);
}

function init() {

document.body.addEventListener("mousemove", mouseOver, false);

}

</script>
</head>
<body onload="init();">
<div style="height:900px; width:900px;">

</div>

</body>
</html>
rainsilence 2010-03-18
  • 打赏
  • 举报
回复
我在FF3.0下测试通过。。。

另外你的问题可能是body没有撑开

看我这里的代码
<div style="height:900px; width:900px;">

</div>
wgale025 2010-03-18
  • 打赏
  • 举报
回复
多浏览器兼容是个问题,我没办法,选择了使用jQuery框架。
他这个框架都兼容好几个常用浏览器。
hitlcyu19 2010-03-18
  • 打赏
  • 举报
回复
document.onmousedown = function() {a();};
shan1119 2010-03-18
  • 打赏
  • 举报
回复
document.getElementById("objid").onmousedown = a;
shan1119 2010-03-18
  • 打赏
  • 举报
回复
document.getElementById("objid").addEventListener
神之泪花 2010-03-18
  • 打赏
  • 举报
回复
document.onmousedown = a;

这种写法我测试过了,FF下不好用,
内容概要:本文档聚焦于基于Peng-Robinson状态方程的化工热力学计算研究,系统介绍了利用Matlab代码实现纯组分及多组分系统的压缩因子(z因子)和逸度系数的计算方法,并进一步拓展至泡点压力与露点压力的数值求解。资源涵盖了从状态方程推导、非线性方程求根、相平衡条件判断到迭代算法实现的完整技术路线,提供了可运行的Matlab程序代码,有助于深入理解实际工程物性参数的计算原理与实现过程; 适合人群:具备化工热力学基础知识和一定Matlab编程能力的高校学生、科研人员及工程技术人员,尤其适合从事过程系统模拟、油气田开发、精馏设计及相关领域研究的专业人士; 使用场景及目标:① 掌握Peng-Robinson方程在真实气体物性计算的应用;② 实现多组分混合体系的相平衡计算与泡/露点预测;③ 为Aspen Plus等商用流程模拟软件提供底层算法验证与教学参考;④ 支持科研论文复现、课程设计、毕业设计及工业过程优化的热力学数据支撑需求; 阅读建议:建议读者结合经典化工热力学教材同步学习,重点理解立方型状态方程的根判别、迭代收敛策略与相平衡准则的数学表达,动手调试并运行所提供的Matlab代码以掌握算法细节,还可将其扩展应用于其他状态方程(如SRK、vdW)的对比分析研究。

87,989

社区成员

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

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