2013-06-11 5 views
1

это может показаться простым вопрос о Jquery и Twitter BootstrapJquery и окно размера

У меня есть твиттер самозагрузка, макет жидкости, когда окно изменяет размер, строка жидкости, очевидно, изменить размер, но я заметил это <div> сек Дона» т получить или выдать .resize события

можно обнаружить окно браузера размера использованияКонтактной $(window).resize, но даже если дочерние элементы изменить размер, подключая обработчик изменения размера к ним не приводит триггер изменения размера событий

Я знаю, что вы могли бы скажите, что только изменения размера ble 'up', но, конечно, если размер div изменяется, из-за изменения размера окна браузера (и через bootstrap CSS) он должен получить событие изменения размера.

+0

так, что ваш вопрос? – SpYk3HH

+0

fyi, если вы хотите использовать размер jQuery для чего-либо, кроме «окна», вам понадобится плагин, подобный этому, -> http://benalman.com/projects/jquery-resize-plugin/ – SpYk3HH

+1

Согласно [MDN] (https://developer.mozilla.org/en-US/docs/Web/API/element.onresize): «Только объект' window' имеет событие 'onresize'." Так нравится вам это или нет, вам просто нужно закодировать соответствующим образом. (Было бы _nice_, если бы элементы 'textarea' также имели событие изменения размера, поскольку (в некоторых браузерах) пользователь может изменять их размеры независимо от других элементов, но другие типы элементов изменяются только из-за того, что все окно делает это, поэтому ...) – nnnnnn

ответ

3

Ваш лучший выбор - просто поместить обработчик resize на window и разрешить любые изменения, связанные с изменением, которые требуются в течение всего содержимого страницы этого обработчика.

В качестве альтернативы, вы можете вызвать пользовательское событие на ваши элементы при изменении размеров окна:

$(".resizer").on("customresize", function(){ 
    var $this = $(this); 
    $this.text($this.width()); 
}); 

$(window).resize(function(){ 
    $(".resizer").trigger("customresize"); 
}); 

http://jsfiddle.net/vs8Q8/

+0

спасибо, я пытался разбить код, чтобы у меня не было одного человека, специфический обработчик для затронутых элементов (в основном скрытые div) –

+0

Вы можете создать свое собственное пользовательское событие и «запустить» его в 'window.resize' –

+0

ok, это хорошая идея. –

 Смежные вопросы

  • Нет связанных вопросов^_^