- 主题:javascript中这样做为什么不行呢?
var XHRUpload = function(jsonMap){
this.ok="ok";
this.element=jsonMap.element;
this.init();
}
XHRUpload.prototype = {
init:function(){
element=j
alert(this.ok);//这里的警告能正常显示
element.addEventListener("click", this._stopPrevent, false);
},
_stopPrevent:function(e){ //阻止默认动作 和事件冒泡
e.stopPropagation();
e.preventDefault();
alert(this.ok);//这里的警告却不能正常显示
}
}
--
FROM 123.127.134.*
我想问的是,如果想在处理事件的方法中用到对象的属性或方法,该怎么做呢?
【 在 firegun2012 (firegun) 的大作中提到: 】
: var XHRUpload = function(jsonMap){
: this.ok="ok";
: this.element=jsonMap.element;
: ...................
--
FROM 123.127.134.*
【 在 firegun2012 (firegun) 的大作中提到: 】
: 标 题: javascript中这样做为什么不行呢?
: 发信站: 水木社区 (Tue Jul 12 00:46:48 2011), 站内
:
: var XHRUpload = function(jsonMap){
: this.ok="ok";
: this.element=jsonMap.element;
: this.init();
: }
:
: XHRUpload.prototype = {
: init:function(){
: element=j
: alert(this.ok);//这里的警告能正常显示
我一般这样写,你那样整,在onclick的时候此this已经非彼this了。
var thisp = this;
this.element.addEventListener("click", function (e) { thisp._stopPrevent(e); }, false);
: element.addEventListener("click", this._stopPrevent, false);
:
: },
:
: _stopPrevent:function(e){ //阻止默认动作 和事件冒泡
: e.stopPropagation();
: e.preventDefault();
: alert(this.ok);//这里的警告却不能正常显示
:
: }
: }
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 123.127.134.*]
--
FROM 123.116.133.*
这样写好麻烦啊
onclick时候的this是什么呢?
【 在 ttl (小驴) 的大作中提到: 】
: 我一般这样写,你那样整,在onclick的时候此this已经非彼this了。
: var thisp = this;
: this.element.addEventListener("click", function (e) { thisp._stopPrevent(e); }, false);
: ...................
--
FROM 123.127.134.*
this.element ..
【 在 firegun2012 (firegun) 的大作中提到: 】
: 这样写好麻烦啊
: onclick时候的this是什么呢?
--
FROM 101.38.139.*
在addEventListener方式添加的监听函数被触发时,this指向该元素
在attachEvent方式的函数触发时,this指向undefined(?不太确定)
在onclick。。。等方式绑定的函数被触发时,不同浏览器的行为不一样,ie6指向window
【 在 firegun2012 (firegun) 的大作中提到: 】
: var XHRUpload = function(jsonMap){
: this.ok="ok";
: this.element=jsonMap.element;
: ...................
--
FROM 60.253.169.*