Не удается прослушать событие изменения размера документа - PullRequest
2 голосов
/ 07 марта 2012

Я хочу прослушивать событие всякий раз, когда документ (тело) размер изменяется, что может быть вызвано чем-либо внутри (но предполагается, что вы не знаете, какой элемент вызвал изменение размера)

каккод ниже: http://jsfiddle.net/marstone/7zaRT/8/

Вы можете щелкнуть зеленую область, чтобы изменить размер div, затем размер document.body.однако событие onresize не будет запущено.

Я обнаружил, что оно работает только при изменении размера окна, например при перетаскивании / максимуме окна браузера

любой обходной путь?любая помощь приветствуется.

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

События изменения размера доступны только для объектов Windows, как вы сказали.Вы можете использовать плагин jquery-resize для добавления событий изменения размера элементов DOM, но имейте в виду, что они реализуют механизмы опроса, чтобы отслеживать размеры элементов.В связи с этим вы всегда должны привязывать событие к элементу, который хотите просмотреть (делегат не работает, так как в DOM не происходит ни одного реального события).

До сих пор я использовал этот плагин парураз, без сбоев.Я не знаю, реализуют ли другие плагины тот же самый механизм, но я несколько уверен, что все они полагаются на механизм опроса, как этот.

0 голосов
/ 07 марта 2012

Это должно сработать:

$(document).bind('DOMSubtreeModified', function(e) {
alert("Bazinga!");
console.log(e);
​});​

Заметьте, однако, что он имеет тенденцию чрезмерно срабатывать, но я оставлю это вам, чтобы выяснить, как это может вписаться в ваше приложение.

http://jsfiddle.net/pratik136/7zaRT/12/

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