读书人

jk越兔等热心的朋友有个有关问题请问

发布时间: 2012-02-13 17:20:26 作者: rapoo

jk,越兔等热心的朋友有个问题请教一下
<input type=button value=test2 id= "aaa ">
<SCRIPT srccccc= "css/layout.js " type=text/javascript>
document.getElementById( "aaa ").onmousedown = function(e){foo(e ||window.event,this)}

function foo(a,obj)
{

alert(a.clientX);
alert(obj.value)

}
</SCRIPT>

obj.onclick=function(){}
这个外层function括号里面从来没有用过加过参数,有加参数的例子吗?
是用来做什么的。
再就是火狐浏览器下function(e){foo(e||window.event,this)}加了参数,为什么要这样用?谢谢

[解决办法]
第二个问题,参考一下这个,应该能明白了

http://blog.csdn.net/LxcJie/archive/2007/08/10/1736463.aspx
[解决办法]
<body> </body>
<script language= "javascript ">
var btn = document.createElement( 'BUTTON ');
btn.innerText = 'Click Me! ';
btn.onclick = function(v) { return function() { alert(v); } } ( 'abc ');
document.body.appendChild(btn);
</script>
[解决办法]
document.getElementById( "aaa ").onmousedown = function(e){foo(e ||window.event,this)}

如果你这个函数没有传参数的话,在FF下,它会给这个函数传一个event对象作为参数..


所以..用
e || window.event
就可以来获取FF和IE中的event对象..
[解决办法]
e代表事件触发时产生的event,跟IE有点不同,是FF自动带入的,所以你起的名字没有关系

读书人网 >JavaScript

热点推荐