在 IE 中,我們使用 event 對象很簡單,直接調用即可,但在 Netscape(NS) 和 FireFox(FF) 中,則不會達到預期的效果。看如下樣本,點擊滑鼠會彈出對話方塊顯示滑鼠指標的橫座標,但在 NS 和 FF 中就不起作用。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Netscape中使用event對象</title>
</head>
<body>
<div>
<a href="http://www.cftea.com/" target="_blank">千一網路 http://www.cftea.com/ 專業探討【ASP、JavaScript、XHTML+CSS、SQL Server】</a>
<hr>
</div>
在空白處點擊滑鼠
<script type="text/javascript" language="javascript">
<!--
function Foo()
{
alert("當前滑鼠指標的橫座標是:" + event.clientX);
}
document.body.onclick = Foo;
-->
</script>
</body>
</html>
現在有兩種方法使程式相容,第一種
<html>
第二種是將 event 作為參數來傳遞,看樣本:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Netscape中使用event對象</title>
</head>
<body onclick="javascript:Foo();">
<div>
<a href="http://www.cftea.com/" target="_blank">千一網路 http://www.cftea.com/ 專業探討【ASP、JavaScript、XHTML+CSS、SQL Server】</a>
<hr>
</div>
在空白處點擊滑鼠
<script type="text/javascript" language="javascript">
<!--
function Foo()
{
var theEvent = window.event || arguments.callee.caller.arguments[0];
alert("當前滑鼠指標的橫座標是:" + theEvent.clientX);
}
-->
</script>
</body>
</html>
第二種是將 event 作為參數來傳遞,看樣本:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Netscape中使用event對象</title>
</head>
<body onclick="javascript:Foo(event);">
<div>
<a href="http://www.cftea.com/" target="_blank">千一網路 http://www.cftea.com/ 專業探討【ASP、JavaScript、XHTML+CSS、SQL Server】</a>
<hr>
</div>
在空白處點擊滑鼠
<script type="text/javascript" language="javascript">
<!--
function Foo(e)
{
alert("當前滑鼠指標的橫座標是:" + e.clientX);
}
-->
</script>
</body>
</html>
注意:兩種方法中,調用函數的方式均不再是 document.body.onclick = Foo。