我正在使用 bind 来更改“this”的范围,以便能够在 click 函数中使用“this”引用我的 generateContent 函数。不幸的是,这意味着 this.id 不再有效,因为“this”的范围发生了变化。
在这种情况下,获取单击按钮的 id 的最佳方法是什么:
function help( doc ) {
buttons: function() {
$('.add-btn').click( function() {
this.generateContent( this.id ) );
}.bind(this));
},
generateContent: function ( id ){
}
}
// This function binds a function to an object's scope.
Function.prototype.bind = function(scope) {
var _function = this;
return function() {
return _function.apply(scope, arguments);
}
}