2014-02-23 18 views
0

我在jQuery中使用了RequireJS。我有一個模塊page,其中包含一個切換站點上菜單可見性的功能。我通過在模塊外調用page.toggleMenu或在模塊內調用this.toggleMenu來調用該切換功能。jQuery中的RequireJS自引用?

的問題/問題我已經是我是否能訪問該模塊從同一模塊中調用一個jQuery函數裏,像這樣的:

var someFunction = function() { 
    $('.someelement').on('click',function() { 
     this.toggleMenu(); 
    }); 
} 

到目前爲止,我已經無法做到這一點。它變成的this變量包含.someelement的DOM元素。我猜測這是因爲jQuery的範圍只是DOM。但我不確定這裏發生了什麼。我也驚訝於this變量是對DOM元素的引用。我認爲實現這一目標的唯一方法是通過做var this = $(this)

如果有人能幫我澄清一下這裏發生了什麼,以及我有什麼(如果有的話)選項可用於解決方法,將會非常有幫助。最後,這是人們使用MooTools而不是jQuery的原因嗎?

+0

你能展示更多的代碼嗎?所以我們有一些想法如何設置你的'頁面'模塊?現在我們必須猜測。 –

回答

1

在您的模塊的頂部(或爲任何範圍,您正在使用this.someFunction),提出:

var page = this; 

...然後使用page.someFunction,而不是this.someFunction