jk,越兔等热心的朋友有个问题请教一下

xiaolei1982 2007-09-07 02:34:57
<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)}加了参数,为什么要这样用?谢谢
...全文
208 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LxcJie 2007-09-07
  • 打赏
  • 举报
回复
e代表事件触发时产生的event,跟IE有点不同,是FF自动带入的,所以你起的名字没有关系

xiaolei1982 2007-09-07
  • 打赏
  • 举报
回复
function(e)里面的e到底是什么,为什么任何字符都可以,作了测试如果document.getElementById("aaa").onmousedown = function(e){foo(e)}
火狐下可以通过,e代表什么呢?
xiaolei1982 2007-09-07
  • 打赏
  • 举报
回复
<input type=button value=test2 onmousedown="foo(event,this);">
<SCRIPT srccccc="css/layout.js" type=text/javascript>//新层的定义
document.getElementById("aaa").onmousedown = function(event){foo(event||window.event,this)};

function foo(e,obj)
{
alert(e);
alert(obj.value)

}
</SCRIPT>
我看了明显第一种很好理解,我主要是想问的是下面这种动态的写法function(e){foo(e||window.event,this)}
其中e可以用任何的字符代替都可通过
muxrwc 2007-09-07
  • 打赏
  • 举报
回复
document.getElementById("aaa").onmousedown = function(e){foo(e ||window.event,this)}

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


所以..用
e || window.event
就可以来获取FF和IE中的event对象..
cnfreer 2007-09-07
  • 打赏
  • 举报
回复
<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>
LxcJie 2007-09-07
  • 打赏
  • 举报
回复
第二个问题,参考一下这个,应该能明白了

http://blog.csdn.net/LxcJie/archive/2007/08/10/1736463.aspx

87,910

社区成员

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

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