this.hasNested = this.$element.find('[data-equalizer]').length > 0;
this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;
this.isOn = false;
+ this._bindHandler = this._bindHandlers.bind(this);
var imgs = this.$element.find('img');
var tooSmall;
*/
_pauseEvents() {
this.isOn = false;
- this.$element.off('.zf.equalizer resizeme.zf.trigger');
+ this.$element.off('.zf.equalizer resizeme.zf.trigger',this._bindHandler);
+ }
+
+ _bindHandlers(e) {
+ if (e.type === 'resizeme') {
+ this._reflow();
+ }else if (e.type === 'postequalized'){
+ if(e.target !== this.$element[0]){ this._reflow(); }
+ };
}
/**
var _this = this;
this._pauseEvents();
if(this.hasNested){
- this.$element.on('postequalized.zf.equalizer', function(e){
- if(e.target !== _this.$element[0]){ _this._reflow(); }
- });
+ this.$element.on('postequalized.zf.equalizer', this._bindHandler);
}else{
- this.$element.on('resizeme.zf.trigger', this._reflow.bind(this));
+ this.$element.on('resizeme.zf.trigger', this._bindHandler);
}
this.isOn = true;
}
--- /dev/null
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <title>Foundation for Sites Testing</title>
+ <link href="../assets/css/foundation.css" rel="stylesheet" />
+ </head>
+ <body>
+ <div class="row column">
+ <h4>I Fire preequalized and postequalized on medium-up</h4>
+ </div>
+ <div class="row" data-equalizer data-equalize-on-stack="false" data-equalize-on="medium" id="equalizer1">
+ <div class="small-12 medium-3 columns">
+ <div class="callout">
+ <div class="callout" data-equalizer-watch>Test</div>
+ </div>
+ </div>
+ <div class="small-12 medium-3 columns">
+ <div class="callout">
+ <div class="callout" data-equalizer-watch>Test</div>
+ </div>
+ </div>
+ <div class="small-12 medium-3 columns">
+ <div class="callout">
+ <div class="callout" data-equalizer-watch>Test</div>
+ </div>
+ </div>
+ <div class="small-12 medium-3 columns">
+ <div class="callout">
+ <div class="callout" data-equalizer-watch>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga officia iste ut distinctio magni accusantium, optio ipsa at cupiditate sequi!</div>
+ </div>
+ </div>
+ </div>
+ <div class="row column">
+ <h4>I Fire preequalized, preequalizedrow, postequalizedrow, postequalized, resizeme</h4>
+ </div>
+ <div class="row" data-equalizer data-equalize-by-row="true" id="equalizer2">
+ <div class="small-12 medium-6 columns">
+ <div class="callout">
+ <div class="callout" data-equalizer-watch>Test</div>
+ </div>
+ </div>
+ <div class="small-12 medium-6 columns">
+ <div class="callout">
+ <div class="callout" data-equalizer-watch>Test</div>
+ </div>
+ </div>
+ <div class="small-12 medium-6 columns">
+ <div class="callout">
+ <div class="callout" data-equalizer-watch>Test</div>
+ </div>
+ </div>
+ <div class="small-12 medium-6 columns">
+ <div class="callout">
+ <div class="callout" data-equalizer-watch>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero dolore inventore quibusdam deleniti a ipsa laborum, illo, soluta quas velit?</div>
+ </div>
+ </div>
+ </div>
+
+ <script src="../assets/js/vendor.js"></script>
+ <script src="../assets/js/foundation.js"></script>
+ <script>
+ $('[data-equalizer]').on('preequalized.zf.equalizer',function(e){
+ console.log($(this).attr('id')+' '+e.type);
+ });
+
+ $('[data-equalizer]').on('preequalizedrow.zf.equalizer',function(e){
+ console.log($(this).attr('id')+' '+e.type);
+ });
+
+ $('[data-equalizer]').on('postequalizedrow.zf.equalizer',function(e){
+ console.log($(this).attr('id')+' '+e.type);
+ });
+
+ $('[data-equalizer]').on('postequalized.zf.equalizer',function(e){
+ console.log($(this).attr('id')+' '+e.type);
+ });
+
+ $('[data-equalizer]').on('resizeme.zf.trigger',function(e){
+ console.log($(this).attr('id')+' '+e.type);
+ });
+
+ $(document).foundation();
+ </script>
+ </body>
+</html>