javascript 怎么用 一个对象内的方法 把事件绑定在 对象内的另一个方法上,用this

 我来答
ghe668668
2011-12-18
知道答主
回答量:18
采纳率:0%
帮助的人:25.1万
展开全部
额~先说下问题吧,当你绑定事件后调用其对应的方法时,该方法(你的alert方法)中的this会被解析为将函数作为其方法的对象,确切的说也就是this引用的是document.getElementById(1)这个html元素,所以只要让this引用你的实例对象a就ok了,也就是改变函数的执行环境,这就要用到call或者apply方法。如下:
<script type="text/javascript">
function change(obj,func)//改变函数执行环境
{
return function(){func.apply(obj,arguments);};
}
function obj(){};
obj.prototype={
a:{b:1},
click:function(){
document.getElementById('qq').onclick=change(this,this.alert);
},
alert:function(){alert(this.a.b);}
}
var a=new obj();
a.click();
</script>
yzy2010yzy
2011-12-14 · 超过31用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:57.2万
展开全部
<html>
<script>
var Demo = new Object();
Demo.funA = function(param){
alert(param);
}
Demo.funB = Demo.funA;
</script>

<input type="button" onclick="Demo.funB('测试')"/>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式