2014-10-06 8 views
4

Я пытаюсь выполнить вещи на window.resize, но я не могу даже предупредить, чтобы работать более одного раза. Весь код, у меня есть это:событие window.resize только срабатывает один раз

HTML:

<head> 
    <meta charset="utf-8"> 
    <script src="jquery-1.11.1.min.js"></script>//I have this library in this html's file directory 
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> 

    <script type="text/javascript"> 
    $(document).ready(function(){ 
     window.resize(alert("yolo")); 
    }); 
    </script> 
</head> 
<body> 
... 
</body> 

Я также попробовал несколько вариантов:

window.resize(...) 

window.on("resize",...) 

window.one("resize",...) 

$(window).resize(...) 

$(window).on("resize",...) 

$(window).one("resize",...) 

ни один из них не работает. Есть ли что-то еще, что я не пробовал ???

+0

Не знаю, почему он не работает. Работал для меня: http://jsfiddle.net/bakgq9g7/ – karthikr

+1

в чистом JS это 'window.onresize = resizeHandler;' – myfunkyside

+0

ну с помощью только 'window' вы не могли бы вызывать' .resize', 'on' или 'one' как его не объект jQuery, а для вызовов jQuery он ожидает, что ссылка на функцию не будет возвращать вызов функции, а в случае возврата вызова предупреждения его' undefined', поэтому вы не устанавливаете обратный вызов в все –

ответ

3

Это вызвано только один раз, поскольку document.ready потребляется при загрузке страницы.

$(document).ready(function(){ 
    window.resize(alert("yolo")); 
}); 

Вам потребуется приложить обработчик событий к окну window.onresize = function() { alert("yolo"); }; или

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

+1

также, вероятно, умнее использовать 'console.log' вместо' alert() ', если вы не хотите сходить с ума от всплывающих окон. – myfunkyside

+1

У вас все еще есть' $ (document) .ready (function() { window.resize (alert ("yolo")); }); '. Вы хотите 'window.resize (function() {alert (" yolo ");});' – Abbath

+0

Вы связываете функцию с событием загрузки страницы, а не с событием изменения размера окна. – Abbath

0

Ваш alert('yolo') становится выполняются в данный момент это потребленный яваскрипт выполнения. Вот почему вы видите его только один раз, когда страница загружается.

Также window.resize не существует, но window.onresize делает:

window.onresize = function(){ 
    alert('yolo'); 
}; 
Смежные вопросы