Мне нужно обнаружить изменения ширины окна просмотра для мобильных устройств. Я использую следующий код для обнаружения изменений размера окна браузера, но 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.info(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.info(txt);
}
</script>
</body>
</html>
Я использовал приведенный выше код с FF 62.0.3, Chrome 70.0.3538.77 и IE11.
Кто-нибудь знает, что не так с моим кодом?
Вы внезапно вызываете эти функции, поэтому в основном вы передаете результат этих функций, в данном случае undefined
.
Вам нужно передать функцию как ссылку (параметр), например,
window.addEventListener('resize', sizeChanged); // Look at the missing parentheses.
window.addEventListener('orientationchange', orientationChanged); // Look at the missing parentheses.