Я бы предложил (jQuery нужен):
/*
* windowSize
* call this function to get windowSize any time
*/
function windowSize() {
windowHeight = window.innerHeight ? window.innerHeight : $(window).height();
windowWidth = window.innerWidth ? window.innerWidth : $(window).width();
}
//Init Function of init it wherever you like...
windowSize();
// For example, get window size on window resize
$(window).resize(function() {
windowSize();
console.log('width is :', windowWidth, 'Height is :', windowHeight);
if (windowWidth < 768) {
console.log('width is under 768px !');
}
});
Добавлено в CodePen: http://codepen.io/moabi/pen/QNRqpY?editors=0011
Затем вы можете легко получить ширину окна с помощью var: windowWidth и Height with: windowHeight
, в противном случае получить js-библиотеку: http://wicky.nillia.ms/ enquire.js /
Подобные события для сенсорных экранов будут touchstart
и touchend
, они полностью совпадают с событиями mousedown
и mouseup
для рабочего стола. Из документов:
Событие
touchstart
запускается, когда одна или несколько точек касания помещаются на сенсорную поверхность.и
< blockquote>Событие
touchend
запускается, когда одна или несколько точек касания удаляются с сенсорной поверхности.Вы можете проверить docs для получения дополнительной информации о событиях касания.
Я также предполагаю, что, возможно, вам также необходимо остановить некоторые события от пузырьков, и если да, вы можете взглянуть на события пузырьков и
event.stopPropagation()
, чтобы предотвратить их пузыри.Если логика должна быть одинаковой для событий
mousedown
/touchstart
иmouseup
/touchend
, вы можете связывать несколько событий для слушателя, как описано здесь .