なぜこれがうまくいかないのか教えていただけますか?(このキーワードに注意してください)
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プロパティが更新されました。
ただし、[追加]または[編集]ボタンをクリックしてそれらの関数を入力すると、this.urlは投稿オブジェクトではなくボタンを参照するため未定義です。なんで?コールバックからurlプロパティを参照するにはどうすればよいですか?