Я припускаю, що в мене є <div>
область контейнера для вводу з текстом, повзунками та кнопками в ньому, і я хочу перешкодити випадковим подвійним натисканням на це <div>
. Далі не перешкоджає масштабуванню області введення, і це не стосується подвійного натискання та збільшення масштабу за межами моєї <div>
області. Існують варіанти залежно від програми браузера.
Я просто спробував це.
(1) Для Safari на iOS та Chrome на Android, і це кращий метод. Працює за винятком Інтернет-програми на Samsung, де він відключає подвійне натискання не повністю <div>
, а принаймні на елементи, що обробляють крани. Він повертається return false
, за винятком входів text
та range
входів.
$('selector of <div> input area').on('touchend',disabledoubletap);
function disabledoubletap(ev) {
var preventok=$(ev.target).is('input[type=text],input[type=range]');
if(preventok==false) return false;
}
(2) Опціонально для вбудованого інтернет-додатку для Android (5.1, Samsung), не перешкоджає подвійному натисканню на <div>
, але призупиняє масштабування <div>
:
$('selector of <div> input area').on('touchstart touchend',disabledoubletap);
(3) Для Chrome на Android 5.1 взагалі вимикає подвійне торкання, не перешкоджає масштабуванню та нічого не робить щодо подвійного натискання в інших браузерах. Інгібування подвійного натискання на <meta name="viewport" ...>
це подразнює, тому що <meta name="viewport" ...>
здається хорошою практикою.
<meta name="viewport" content="width=device-width, initial-scale=1,
maximum-scale=5, user-scalable=yes">