| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2338 人关注过本帖
标题:一个困了很久的问题:attachEvent & detachEvent & this
只看楼主 加入收藏
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:483
专家分:911
注 册:2005-3-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:20 
一个困了很久的问题:attachEvent & detachEvent & this
function aa()
{
   this.nodeName;
}
XXX.attachEvent('click',aa);
怎么在attachEvent中的事件aa中的this指向XXX本身?并且要能在detachEvent中能删除相应的方法。(注意这条件)

好像这是一个大难道,自己重写一个方法就不用回复了,因为有要求,所以才有挑战性。

各位有什么好的招不?
搜索更多相关主题的帖子: attachEvent detachEvent 
2010-12-07 16:41
gulimeksoft
Rank: 4
等 级:业余侠客
威 望:4
帖 子:53
专家分:208
注 册:2010-8-5
收藏
得分:4 
$('#XXX').bind('click', function() {
  $(this).attr('name')}
);
参考
2010-12-07 17:38
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:483
专家分:911
注 册:2005-3-20
收藏
得分:0 
以下是引用gulimeksoft在2010-12-7 17:38:12的发言:

参考
这是哪跟哪了,这是jquery,而且和“原生态”的js不一样的。好不。

世事如潮我如水,只叹江湖几人回。
2010-12-08 09:15
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:4 
IE中添加事件 this的指向变为事件。。。
2010-12-08 10:07
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:0 
如果你觉得不用写方法就可以 那么估计你得自己写js引擎了
2010-12-08 10:08
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:4 
还没听懂楼主的意思,那个写法是IE写加事件很经常用法,不知道还要怎么做呢??很正常的东西啊!

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-12-08 10:16
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:0 
程序代码:
<input id="btnOK" type="button" value="test" />
<script type="text/javascript">
function aa(){
    alert(this.id)
}
var obj = document.getElementById("btnOK");
if(obj.attachEvent){
    obj.attachEvent('onclick', (function(){
        return function(){
            aa.call(obj)   
        }                                    
    })(obj))
}
</script>
2010-12-08 10:23
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:0 
他是想this指向同一个对象
2010-12-08 10:24
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:483
专家分:911
注 册:2005-3-20
收藏
得分:0 
以下是引用aspic在2010-12-8 10:23:11的发言:

 
 
function aa(){
    alert(this.id)
}
var obj = document.getElementById("btnOK");
if(obj.attachEvent){
    obj.attachEvent('onclick', (function(){
        return function(){
            aa.call(obj)   
        }                                    
    })(obj))
}
这个我自然知道,但你看我提问的红色字部份了没?

世事如潮我如水,只叹江湖几人回。
2010-12-08 10:26
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:483
专家分:911
注 册:2005-3-20
收藏
得分:0 
以下是引用aspic在2010-12-8 10:08:12的发言:

如果你觉得不用写方法就可以 那么估计你得自己写js引擎了
此言差矣。那是一种追求,自己绕来绕去的建一种,我相信很多人都会,但要在原attachEvent上改进,我想可能就没人会了。追求,懂不?

世事如潮我如水,只叹江湖几人回。
2010-12-08 10:33
快速回复:一个困了很久的问题:attachEvent & detachEvent & this
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014690 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved