размер порта представления против изменения размера документа в IE - PullRequest
1 голос
/ 09 июня 2010
Событие

window.resize в IE не делает то, что я думал.

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

есть ли способ отличить эти две вещи: просмотр порта изменение размера и изменение размера документа без написания сложного хака?

1 Ответ

0 голосов
/ 09 июня 2010

Нет берущих? ну вот хак (не проверено - но идея верна)

function viewPortResize(fn, context){
  context = context || window;
  var $window = $(window);
  var winWidth = $window.width();
  var winHeight = $window.height();

  return function(e){
    var oldW = winWidth;
    var oldH = winHeight;
    winWidth = $window.width();
    winHeight = $window.height();
    if (winWidth != oldW || winHeight != oldH){
      fn.apply(context, [e]);
    }
  }
}


//use:
$(window).resize(viewPortResize(function(e){
    alert("this only happens when viewport is resized!");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...