日期:2014-05-16  浏览次数:20373 次

老问题event.clientX在火狐或者IE9下取值都是空
在火狐和IE9下event 始终为NULL,在网上找了很久,也没有结果。
HTML code

<html>
<head>
    <title></title>
    <script type="text/javascript">
        function DoRightClick(event){
        event = (event)?event:window.event; 
        //event=event||event;
        alert(event.clientX);
    }
</script>
</head>
<body onmousedown="window.setTimeout('DoRightClick(event);',400)">
</body>
</html>



------解决方案--------------------
alert(event)你自己看看是什么结果。。。onmousedown="window.setTimeout('DoRightClick(event);',400)">都不知道你到底传什么过去。。就一个event
------解决方案--------------------
探讨

alert(event)你自己看看是什么结果。。。onmousedown="window.setTimeout('DoRightClick(event);',400)">都不知道你到底传什么过去。。就一个event

------解决方案--------------------
探讨

引用:

alert(event)你自己看看是什么结果。。。onmousedown="window.setTimeout('DoRightClick(event);',400)">都不知道你到底传什么过去。。就一个event

我觉得这个问题是由于setTimeout这个方法引起的。。。

------解决方案--------------------
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>
    <title></title>
</head>
<body>
<script type="text/javascript">
    document.oncontextmenu = test;

    function DoRightClick(cx) {
        document.getElementById("odiv").innerHTML=cx;
    }
    function test(e) {
        var evn = window.event || e;
        var cx = evn.clientX;
        setTimeout(function () { DoRightClick(cx); }, 400);
        return false;
    }
    </script>
    <div id="odiv"></div>
</body>
</html>