Требовать самостоятельной ссылки JS внутри jQuery?

0

Я использую RequireJS с jQuery. У меня есть page модуля, которая включает функцию, которая переключает видимость меню на сайте. Я вызываю эту функцию переключения, вызывая page.toggleMenu вне модуля или this.toggleMenu внутри модуля.

У меня проблема/вопрос: могу ли я получить доступ к этому модулю внутри функции jQuery, вызванной внутри того же модуля, например:

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

До сих пор я не мог этого сделать. Вывод this переменной содержит элемент DOM для.someelement. Я предполагаю, что это связано с тем, что область jQuery - это только DOM. Но я не уверен, что здесь происходит. Я также удивлен, что this переменная является ссылкой на элемент DOM. Я думал, что единственный способ добиться этого - сделать var this = $(this).

Было бы очень полезно, если бы кто-то помог мне разъяснить, что здесь происходит, и какие (если есть) варианты, которые у меня есть для потенциального обходного пути. Наконец, является ли это причиной того, что можно использовать MooTools вместо jQuery?

  • 0
    Можете ли вы показать больше своего кода? Итак, у нас есть представление о том, как настроить модуль вашей page ? Прямо сейчас мы должны угадать.
Теги:
scope
requirejs

1 ответ

1
Лучший ответ

В верхней части вашего модуля (или в какой-либо области, где вы используете this.someFunction), поставьте:

var page = this;

... и затем используйте page.someFunction а не this.someFunction.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню