Не срабатывает событие в React
componentDidMount(){
console.log('mount!');
window.matchMedia('(max-width: 1400px)').addListener(function(){
console.log('resize!');
})
}
Первое сообщение отображается, а второе, при ресайзе, не срабатывает ни в одном браузере(( уже пару часов бьюсь помогите пожалуйста |
window.matchMedia('(max-width: 1400px)').addEventListener("change", event => {
console.log("resize!");
});
|
Цитата:
|
Сложно предположить, почему так происходит. Тот первый код, который вы привели, тоже на самом деле работает. Вы можете привести дополнительно окружающий код? Также укажите, какой браузер используете (например, в консоли браузера выполните navigator.userAgent)
|
Вот такой тестовый пример вполне работает
<style>
.someClass { border:1px solid red;}
</style>
<div id="div">123</div>
<script>
function setup_for_width(mql) {
div.textContent = mql.matches;
if (mql.matches) {
div.classList.add("someClass");
} else {
div.classList.remove("someClass");
}
}
var mql = window.matchMedia("screen and (min-width: 768px)");
mql.addListener(setup_for_width);
setup_for_width(mql);</script>
|
| Часовой пояс GMT +3, время: 22:51. |