У меня есть функция JS, которую мне нужно вызывать при изменении размера окна. Единственный способ я нашел, чтобы получить эту работу является использование:
$(body).on('resize', function(){
myFunction();
});
С этим туРипсЫоп() выполняется на окне изменения размера. Проблема в том, что я получаю опорную ошибку (тело не определено), поэтому остальная часть моего JS не выполняется должным образом.
Я пробовал разные селекторы: $ ("body"), $ ("document.body"), $ (окно), $ (документ), ... С ними я не получаю опорную ошибку, но функция не выполняется.
Вот, Что выглядит (минимальный вид) мой HTML:
<html>
<head>
<script src="jquery.js"></script>
</head>
<body>
[ Alot of things ...]
<script src="main.js"></script>
</body>
</html>
Итак, JQuery включен в моей голове раздел, в то время как мой JS включен перед закрытием тега тела.
Теперь это то, что выглядит как мой файл main.js:
myFunction(){
alert("Hello world");
}
$(body).on('resize', function(){
myFunction();
});
$(document).ready(function(){
myFunction();
}
Функция работает должным образом на странице загрузки (с $ (документ) .ready), но мне это нужно для работы на каждой странице изменения размера. Я искал много, чтобы решить мою проблему, но я застрял. Прошу прощения, если ответ тривиален. Я любопытный noob с селекторами элементов JS и DOM.
Редактировать с помощью дополнительной информации: Эта функция используется для установки нескольких div на равную высоту. Вы можете найти его здесь Equal Height divs with jQuery. Моя группа div - это строки сетчатой системы skelJS.
Итак, первоначальная проблема заключалась в том, что когда я изменял размер своего окна, divs, где не изменялись, чтобы соответствовать чувствительному размеру шрифта, поэтому я получаю переполнение. Очевидно, я попытался вызвать эту функцию при изменении размера окна/тела, но я не могу заставить ее работать EXCEPT, если я использую селектор $ (body), который дает мне ссылочную ошибку, но тогда проблема переполнения исчезает и функция корректно работает при изменении размера .. Это действительно странно. Я пробовал все ваши решения, ничего не работает. Проблема должна быть BCAK. Если мы не получим рабочего решения, il вернется к вам с полным кодом позже сегодня. Спасибо
'$ (window) .resize (myFunction)' должен работать. – Tushar
, потому что нет 'body' global. – epascarello
SideNote: '$ (body)' будет вызывать ошибку, если 'body' (_variable_) не определен. Если вы ссылаетесь на '
', используйте '$ ('body')' или '$ (document.body)'. – Tushar