我是新手使用回调函数并努力尝试通过jquery挂钩,当某些ui元素被更改时将被调用。这是我正在做的一个非常简单的例子。如果我调用e.SetBorderWidth,它会正确地将10传递给函数。但是,如果我尝试使用回调,则SetBorderWidth将变为未定义。知道为什么以及我需要改变什么?感谢。
javascript代码----
element = {
border: {
width:0
},
SetBorderWidth : function(newWidth){
this.border.width = newWidth;
}
};
elementChild = function(){
padding: 0
};
elementChild.prototype = element;
var e = new elementChild();
var callback = e.SetBorderWidth;
function SetWidth(){
e.SetBorderWidth(10);
alert(e.border.width);
callback.call(10);
alert(e.border.width);
}
和html代码
<input type="button" onclick="SetWidth();" value="Click" />
答案 0 :(得分:2)
只做callback(10)
;添加.call
传递10
作为上下文(this
变量)而不是参数。