用javascript改变onclick调用的函数
2008-06-11 08:59
281 查看
正需要做这个功能,发现不是自己想象中的那样.在网上找了一些资料,终于找到了解决办法.
首先列出一些错误的方法吧.(这里设obj代表你所要引用的对象.obj = document.getElementById("........");)
1.obj.onclick="f_aa()";
2.obj.onclick=f_aa();
3.if(window.attachEvent()){
obj.attachEvent("onclick",f_aa());//或obj.attachEvent("onclick",function(){f_aa();});
}else{
obj.addEventListener("click",function(){.........},false);
}
4.一种网上叫闭包的方法,但觉得也不管用.
但如果要给第二次的函数传递参数,就需要用到闭包。代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script type="text/javascript">
function click_action(){
alert('第一次');
var click_action2 = alertMsg("第二次了!");
document.getElementById("enjoy").onclick = click_action2 ; //不可以.
}
function alertMsg(t) {
return function(){
alert(t);
}
}
</script>
</head>
<body>
<a id="enjoy" onclick="click_action()" href="javascript:void(0);">点我</a>
</body>
</html>
我试验成功的方法是:
1.假如所调用的函数没有参数
obj.onclick=f_aa; //f_aa为一函数名,这里没有左右小括号!
2.所调用的函数有参数
obj.onclick=new Function("f_aa("+i+")");
另外,把onclick事件置空为(即禁用onclick)
obj.onclick=null;
首先列出一些错误的方法吧.(这里设obj代表你所要引用的对象.obj = document.getElementById("........");)
1.obj.onclick="f_aa()";
2.obj.onclick=f_aa();
3.if(window.attachEvent()){
obj.attachEvent("onclick",f_aa());//或obj.attachEvent("onclick",function(){f_aa();});
}else{
obj.addEventListener("click",function(){.........},false);
}
4.一种网上叫闭包的方法,但觉得也不管用.
但如果要给第二次的函数传递参数,就需要用到闭包。代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script type="text/javascript">
function click_action(){
alert('第一次');
var click_action2 = alertMsg("第二次了!");
document.getElementById("enjoy").onclick = click_action2 ; //不可以.
}
function alertMsg(t) {
return function(){
alert(t);
}
}
</script>
</head>
<body>
<a id="enjoy" onclick="click_action()" href="javascript:void(0);">点我</a>
</body>
</html>
我试验成功的方法是:
1.假如所调用的函数没有参数
obj.onclick=f_aa; //f_aa为一函数名,这里没有左右小括号!
2.所调用的函数有参数
obj.onclick=new Function("f_aa("+i+")");
另外,把onclick事件置空为(即禁用onclick)
obj.onclick=null;
相关文章推荐
- 用javascript改变onclick调用的函数
- javascript 动态改变onclick事件触发函数代码
- 【JavaScript】a标签onclick传递参数不对,A标签调用js函数写法总结
- javascript 动态改变onclick事件触发函数代码
- javascript 动态改变onclick事件触发函数代码
- .net中前台javascript与后台c#函数相互调用
- JavaScript的函数及调用方法
- JavaScript-函数(一)函数定义和调用
- javascript与cs代码互相调用 asp.net中前台javascript与后台C#交互 这里主要包括了javascipt与后台CS代码四种方法互调(其中包括函数与变量的访问)
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用
- 子页面调用父页面的函数(javascript)
- JavaScript调用函数不需要对象
- Android中Webview使用javascript调用事先定义好的Java函数
- javascript两种禁止一个函数没有运行结束时就再次调用的方法
- javascript中函数做为参数的调用
- onclick中字符串转义,函数调用的问题
- javascript 函数的4种调用模式
- 如何在JavaScript里防止事件函数的高频触发和调用
- asp.net 在前台和后台调用 javascript 函数
- (九)JavaScript之【JS函数(定义、参数、调用、【闭包】、call(),apply())】[较深,胆小勿进]