ฉันคิดว่าฉันจะมีพื้นที่ภาชนะการป้อนข้อมูลที่มีข้อความเลื่อนและปุ่มในนั้นและต้องการที่จะยับยั้งอุบัติเหตุดับเบิลก๊อกในการที่<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">