css: скрытый overflow-x и волшебная мышь/жест

Я пытаюсь предотвратить горизонтальную прокрутку пользователей (по запросу клиента для веб-приложения). Это легко сделать со стилем "overflow-x:hidden". На самом деле, это работает, так как больше нет видимой горизонтальной полосы прокрутки.

Проблема в том, что волшебная мышь Apple по-прежнему позволяет пользователю прокручивать страницу по горизонтали в Safari Mac, Chrome Mac и Opera Mac (в то время как он не может в Firefox Mac), даже если полоса прокрутки скрыта.

Я считаю, что нет необходимости показывать вам CSS, поскольку... он "технически" работает: полоса прокрутки скрыта в порядке.

Но жест смахивания с помощью волшебной мыши разрушает его, поскольку пользователь все еще может перемещать страницу влево/вправо.

Любое обходное решение, скрипт css, javascript или jQuery для отключения горизонтального пролистывания с помощью Magic Mouse или жеста?

Спасибо.


person Baylock    schedule 29.06.2014    source источник
comment
ты пробовал -webkit-overflow-scroll:touch   -  person marathonman    schedule 29.06.2014
comment
Я погуглил ваш атрибут css, и он ничего не дал. Где именно это указать? Я пробовал с тегом body, но безуспешно. Можете ли вы рассказать мне больше об этом? Благодарю вас!   -  person Baylock    schedule 29.06.2014
comment
Вместо этого я нашел это, но даже оно по-прежнему прокручивается горизонтально при нанесении на тело: -webkit-overflow-scrolling:touch   -  person Baylock    schedule 29.06.2014
comment
Раньше я использовал для мобильных устройств, но после повторного чтения вашего вопроса это не имеет отношения. youtube.com/watch?v=C12UKh85qi4   -  person marathonman    schedule 29.06.2014


Ответы (1)


Это то, что я нашел до сих пор:

$(document).mousewheel(function(event, delta, deltaX, deltaY) {
    if (deltaX != 0){event.preventDefault();}
});

Не знаю, могу ли я столкнуться с некоторыми побочными эффектами, но пока все хорошо.

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

person Baylock    schedule 29.06.2014
comment
Недостатком этого подхода является то, что при увеличении горизонтальная прокрутка также невозможна. - person Codey; 04.02.2021