Javascript .onchange ограничения - PullRequest
0 голосов
/ 23 марта 2009

Когда я начинаю разрабатывать все более сложные решения Javascript, мне интересно, какие варианты дает мне javascript для мониторинга изменений в моей среде. Я видел так много решений, которые постоянно проверяют любой элемент, который они хотят отслеживать, но для любого приложения с большим объемом ресурсов (или для любого случая, в зависимости от стандартов разработчика), которое становится раздутым и слишком хакерским, чтобы быть жизнеспособным , Это подводит меня к моему вопросу: «Каковы ограничения события onchange javascript?». В частности, сейчас я пытаюсь контролировать размер окна. Есть ли способ использовать событие .onchange для таких вещей? Как бы вы решили это?

Спасибо! Мне очень интересно услышать, что все говорят.

Ответы [ 4 ]

4 голосов
/ 23 марта 2009

Размер окна можно контролировать с помощью onresize .

Событие onchange, как говорит Рахул, относится к загрузке файлов, выбору, тексту и текстовой области. Однако он срабатывает только после того, как фокус сместился с предмета на что-то другое, а содержимое изменилось.

4 голосов
/ 23 марта 2009

Атрибут onchange является свойством DOM. Это не предоставляется Javascript. W3schools сообщает, что только некоторые элементы поддерживают его использование на их странице о событии onchange :

Поддерживается следующими тегами HTML:

<input type="text">, <select>,
<textarea>

Поддерживается следующим JavaScript объекты:

fileUpload, select, text, textarea

Если вы хотите контролировать размер окна, у вас есть два варианта: - используйте атрибут onresize - установить интервал проверки с помощью опроса.

0 голосов
/ 23 марта 2009
window.onresize=function(){
    exampleFunction();
}   

это то, что я делаю. Я не очень заинтересован в обмене, если вы изменили элемент с помощью JS, вы также можете вызвать событие в том же JS. (почему это так: JS -> element -> JS, когда вы можете перейти: JS -> element и JS)

0 голосов
/ 23 марта 2009

Попробуйте jQuery , он крошечный и безумно мощный.

jQuery имеет две функции, которые должны быть вам полезны: width () и height ()

Пример (на основе примера из документов, связанных выше):

function showWidth(ele, w) {
    $("someDiv").text("The width for the " + ele + 
                " is " + w + "px.");
}

$('#someElement').change(function () { 
  showWidth("document", $(document).width()); 
});

Конечно, то же самое относится и к высоте (). Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...