你能告诉我为什么这行不通吗?(注意this关键字)
var post = {
url: 'http://myurl.com',
add: function() {
window.location = this.url + '/add';
},
edit: function() {
window.location = this.url + '/edit';
}
};
代码中的其他地方:
post.url = '<?php echo BASE_ADMIN . $postType ?>';
$(document).ready(function() {
$("#listing").aJqueryPlugin({
...
// Buttons and their callbacks
buttons : [
{name: 'Add', bclass: 'add', onpress : post.add},
{name: 'Edit', bclass: 'edit', onpress : post.edit},
],
...
});
线
post.url = ....
表现如预期。post中的url属性已更新。
但是,当我单击Add或Edit按钮并输入它们的功能时,this.url是未定义的,因为this引用的是按钮而不是post对象。为什么?那么我应该怎么做才能从回调中引用url属性?