Шаблонные функции вызова jQuery

я использую шаблон jQuery: http://jqueryboilerplate.com/

и теперь у меня проблема с вызовом функции в функции..

я не могу вызвать «openOverlay» в «clickEvents», но я могу вызвать «openOverlay» в «init».

вот фрагмент:

    Plugin.prototype = {

        init: function() {
            var $me = $(this.element);

            this.clickEvents($me);
        },

        clickEvents: function($el, func) {
            $el.on('click', function() {
                var $me = $(this);
                var overlayName = $me.data('overlay');
                this.openOverlay(overlayName);
            });
        },

        openOverlay: function(overlayName) {

            var $overlayContainer = $(defaults.$overlayContainer);
            var $overlay = $overlayContainer.find('[data-overlay="' + overlayName + '"]');

            $overlayContainer.fadeIn(500);
            $overlay.delay(500).fadeIn(500);
        }
    };

person Community    schedule 06.06.2013    source источник


Ответы (1)


проблема в том, что функция щелчка переопределяет "это"

пытаться:

var self=this; 
$el.on('click', function() { 
    var $me = $(this); 
    var overlayName = $me.data('overlay'); 
    self.openOverlay(overlayName); 
}); 
person Ratzor    schedule 06.06.2013