2016-09-26 1 views
-1

Zustand:Aktiviere Standard nach event.preventDefault() in Funktion?

  1. Benutzer offen in der Breite < = 800, wird Funktion
  2. dann auf> 800 ändern ausgeführt, weil Funktion bereits ausgeführt, gibt es noch eine gewisse Wirkung ausgeführt wird, und ich kann Anker klicken.
$(document).ready(function() { 
    function stuff(){ 
     //event.preventDefault() 
     new mlPushMenu(document.getElementById('menu'), document.getElementsByClassName('btnslick')[0], { 
      type : 'cover' 
     }); 
    }; 

    function jqUpdateSize(){ 
     var windowwidth = $(window).width(); 

     if (windowwidth <= 800){ 
      //function on 
     } else { 
      //try to stop/off function and return to default 

     } 
    }; 
    $(document).ready(jqUpdateSize); 
    $(window).resize(jqUpdateSize); 
}); 

Wie Funktion zu stoppen und auf dem Standard zurückzukehren?

Ich habe versucht, auf neue Funktion zu speichern und mit on/off aber nicht funktioniert?

+0

, was Sie zu tun versuchen? Wenn dies Stiländerungen sind, fügen Sie eine Klasse zu "body" oder dem entsprechenden übergeordneten Element hinzu, und Sie können diese Klasse nach "windowwidth" umschalten. – KBN

+2

Es gibt sowieso keine Standardaktion für das "load" -Ereignis des Fensters (und Ihre 'stuff'-Funktion hat keinen anderen 'event'-Bezeichner als die IE-spezifische globale [die Chrome dazu enthält, einen Bone nach IE- zu werfen- spezifischer Fall, aber Firefox nicht]). –

Antwort

0

Sie so etwas wie dieses

$(document).ready(function() { 
function stuff(){ 
var windowwidth = $(window).width(); 
if (windowwidth <= 800){ 
    new mlPushMenu(document.getElementById('menu'), document.getElementsByClassName('btnslick')[0], { 
      type : 'cover' 
     }); 
} 
}; 
function jqUpdateSize(){ 
     $(window).on('load',stuff); 
}; 
$(document).ready(jqUpdateSize); 
$(window).resize(jqUpdateSize); 
}); 
Verwandte Themen