...
$.fn.annotateEdit = function(image, note) {
if (note) {
this.note = note;
} else {
var newNote = new Object();
newNote.id = "new";
this.note = newNote;
}
}
...
var mynote = this.note;
form.find(':radio').change(function() {
var vacancy = $(this).attr('value');
mynote.vacancy = vacancy;
});
...
是否可以在不定义“mynote”的情况下从change()处理程序访问“this.note”?
最佳答案
我使用这样的模式,这样我就可以访问封闭范围内的任何内容:
var that = this;
...
form.find(':radio').change(function () {
that.note.vacancy = $(this).attr('value');
});
我很喜欢这种模式,因为它使代码更具可读性。在我看来,很明显它所访问的内容是封闭范围的一部分(只要 that
的用法保持一致)。
关于javascript - jQuery:如何从匿名函数内部访问父函数 "this"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9150676/