2013-06-06 2 views
0

는 내가 jQuery를 상용구 사용 http://jqueryboilerplate.com/jQuery를 상용구 호출 기능

지금은 함수에서 함수를 호출하는 문제가 ..

내가 "clickEvents"의 "openOverlay"를 호출 할 수 없습니다 만, "init"에서 "openOverlay"를 호출 할 수 있습니다. 여기

은 조각이다 :

 
    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); 
     } 
    }; 

답변

0

문제는 클릭의 기능을 "이"

시도에 우선한다는 것입니다 :

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