2016-05-03 6 views
1

Die Frage wirklich langweilig ist, aber ich habe nicht damit umgehen. Ich muss eine Objektmethode aufrufen, wenn die Fenstergröße geändert wird. Der Code lautet wie folgt:JQuery Fenster Resize nicht ausgelöst

var ThemeDesignerHelper = new function() { 
     this.initialize = function() { 
      debugger; 
      var self = this; 
      $(document).ready(function() { 

       $(window).resize(function() { 
        alert("res"); 
       }); 
      }); 

     } 
     this.initialize(); 
} 

Jquery löst keinen Alarm aus, wenn ich das Fenster änderte. Ich denke, das ist nicht über Jquery oder meine Browser-Version, denn wenn ich den obigen Code auf jsfiddle versuchte funktioniert es perfekt. Warum funktioniert der obige Code nicht? Jeder hat eine Meinung mit mir zu teilen.

Hinweis: Wenn i Fenster ändern zu dokumentieren funktioniert es!

+0

Wenn dieser Code ausgeführt? Ist es bevor die jQuery-Bibliothek enthalten ist? Haben Sie die Konsole auf Fehler überprüft? –

+0

erhalten Sie irgendwelche Fehler in der Konsole? – Sravan

+0

gibt es keinen Fehler in der Konsole. – RockOnGom

Antwort

2

Wenn Sie dieses Problem lösen müssen sofort können Sie JavaScript-Window-Ereignis-Listener verwenden, wie unten

$(document).ready(function() { 
      if (window.addEventListener) { 
       window.addEventListener("resize", function(){alert("res")}, false); 
      } else if (object.attachEvent) { 
       object.attachEvent("on" + "resize", function(){alert("res")}); 
      } else { 
       console.error("unknown event listener object."); 
      } 
     }); 
+0

danke es funktioniert! aber wenn Sie wissen, warum jquery nicht funktioniert, informieren Sie mich bitte! – RockOnGom

+0

Ich weiß es im Moment nicht. Aber wenn ich darüber erfahren werde, werde ich Antwort senden. – mehmetuzer

0

Für JQuery, die korrekte Syntax auf ein Fenster Resize ist:

$(window).on('resize', function(){ 
    //Do something 
}); 
+0

JQuery Dokumentation sagt „(Größe ändern‚ handler), Lösen ist möglich mit .off Da der .resize() -Methode nur eine Abkürzung für .on ist‘(‚Größe ändern‘).“ Aber ich habe bereits versucht, Ihre Antwort Es funktioniert nicht. – RockOnGom

+0

Verwenden Sie keine Warnung darin versuchen Sie, Ihren Code –

0

Versuchen Sie, diese

$(window).resize(function() { 
    $('body').prepend('<div>' + $(window).width() + '</div>'); 
}); 
+0

einzustellen Was ist der Unterschied zwischen der Warnung und Ihrem Code. – RockOnGom

+0

versuchen, Ihren Code innerhalb der Funktion zu verwenden, verwenden Sie keine Benachrichtigung –

+0

Es nicht funktioniert und warum Sie bieten mir Einsatz Alarm zu verhindern. – RockOnGom

Verwandte Themen