Прослушивание окна onresize, за исключением размера окна диалога jquery - PullRequest
2 голосов
/ 15 марта 2012

Мне нужно прослушать событие window.onresize, поэтому, используя jquery, я делаю следующее

$(window).resize(...)

Когда я открываю диалоговое окно изменения размера jquery ui и его размер изменяется, окно снова изменяетсятоже срабатывает, но я не хочу реагировать на это событие.Как этого добиться?

Мне нужно прослушать окно с изменяемым размером, чтобы изменить размеры внутренних панелей при изменении размера окна

Ответы [ 2 ]

0 голосов
/ 18 мая 2012

В JQuery 1.7.2 я использовал этот код, который работает как в старых браузерах IE, так и в Chrome ...

$(window).bind('resize', function(event) {
    if ($(event.target).prop("tagName") == "DIV") {return;}  // tag causing event is a div (i.e not the window)
    console.log("resize");
});

Это, возможно, придется адаптировать, если измененный размер элемента является чем-то иным, чем

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

Чтобы немного расширить мой комментарий: Попробуйте вызвать event.stopPropagation() в обработчике обратного вызова resize, переданном свойству resize при настройке диалогового окна с изменяемым размером. Код будет выглядеть примерно так:

$('selector-for-dialog').resizable({
    resize: function(event, ui) {
        // do some stuff to react to this event here
        event.stopPropagation();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...