<img src="images/jia.gif" onclick="a('1.0')" id="img1">document.getElementById("img1").onclick=function(){//注意不要加参数,加了也没用
show('hello');
};这样就可以了。
show('hello');
};这样就可以了。
解决方案 »
- 如何在hmtl中引用别的Html,用iframe俺怕很多浏览器不支持?
- 我通过window.open方式打开了一个页面 我希望这个新页面能控制原页面的跳转 SOS
- vml图形导出问题
- document.getElementsByTagName("*"); 可以运行,为什么会提示错误
- 高手解答下:一个郁闷了半天的问题
- 一个JAVASCRIPT问题
- 怎样在java与mysql之间存取解决中文问题? 谢谢
- 请教各位:显示第二行语法错误,为什么?
- 在JAVASCRIPT程序中动态设定一个控件的属性,使它变为DISABLE??
- 用Jquery实现鼠标移动改变元素背景色时,元素为HTML的问题
- 关于数据表格tr隐藏展现的2个问题
- 怎样使所有的超连接窗口只在一个新窗口中打开
image.onclick=function(){show(id)};
有很多图片,但是每次更改完事件后,以前的图片的onclick事件的show(id)函数的参数全变成最后一次的id了,就是所有的事件全部都一样了
需要写一个函数来返回函数对象,并借此保存变量。
你拷下以下代码测试一下,看你能不能理解。
<img src="images/jia.gif" onclick="a('1.0')" id="img1">document.getElementById("img1").onclick=CreateFunction(show,['abc'], document.getElementById("img1"));function CreateFunction( fn, args, o ){
var f = function(){
fn.apply( o, args );//此处fn才是你真正想调用的方法。
};
return f;
}function show( a )//写的测试函数
{
alert( this.id );
alert( a );
}
大大,太感谢你了,我在网上找了好久,怎么一个也没提到闭包啊,什么叫闭包啊?