addEventListener 'resize' не срабатывает при изменении размера окна браузера - PullRequest
0 голосов
/ 27 октября 2018

Мне нужно обнаружить изменения ширины области просмотра для мобильных телефонов.Я использую следующий код для обнаружения изменений размера окна браузера, но addEventListener не запускает мои функции при изменении размера окна:

<html>
<head>
</head>
<body>

<div id="size">-</div><br>
<div id="orientation">-</div>

<script>

window.addEventListener('resize', sizeChanged() );

function sizeChanged() {

    var w=window.outerWidth;
    var h=window.outerHeight;
    var txt='<b>sizeChanged:</b><br> W=' + w + 'px<br> H=' + h+'px';
    document.getElementById('size').innerHTML=txt;
    console.log(txt);
}

window.addEventListener('orientationchange', orientationChanged() );

function orientationChanged() {

  var w=window.outerWidth;
  var h=window.outerHeight;
  var txt='<b>orientationChanged:</b><br> W=' + w + 'px<br> H=' + h+'px';
  document.getElementById('orientation').innerHTML=txt;
  console.log(txt);

}

</script>

</body>
</html>

Я сработал код выше с FF 62.0.3, Chrome 70.0.3538.77и IE11.

У кого-нибудь есть идеи, что не так с моим кодом?

1 Ответ

0 голосов
/ 27 октября 2018

Вы неожиданно вызываете эти функции, поэтому в основном вы передаете результат от этих функций, в данном случае, undefined.

Вам необходимо передать функцию как ссылку(param), например,

window.addEventListener('resize', sizeChanged); // Look at the missing parentheses.
window.addEventListener('orientationchange', orientationChanged); // Look at the missing parentheses.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...