คำถามติดแท็ก touchstart

30
วิธีผูกเหตุการณ์ 'touchstart' และ 'คลิก' แต่ไม่ตอบสนองต่อทั้งสองอย่าง
ฉันทำงานบนเว็บไซต์มือถือที่ต้องทำงานกับอุปกรณ์ที่หลากหลาย คนที่ทำให้ฉันปวดหัวในขณะนี้คือ BlackBerry เราจำเป็นต้องสนับสนุนการคลิกทั้งคีย์บอร์ดและกิจกรรมการสัมผัส เป็นการดีที่ฉันจะใช้: $thing.click(function(){...}) แต่ปัญหาที่เราพบคืออุปกรณ์ BlackBerry บางตัวมีความล่าช้าที่น่ารำคาญมากตั้งแต่ช่วงเวลาที่กดปุ่มเพื่อให้เกิดการคลิก การรักษาคือการใช้ touchstart แทน: $thing.bind('touchstart', function(event){...}) แต่ฉันจะไปผูกเหตุการณ์ทั้งสองอย่างไร แต่เพียงหนึ่งเหตุการณ์? ฉันยังต้องการกิจกรรมการคลิกสำหรับอุปกรณ์แป้นพิมพ์ แต่แน่นอนว่าไม่ต้องการให้เหตุการณ์การคลิกเริ่มทำงานหากฉันใช้อุปกรณ์ระบบสัมผัส คำถามโบนัส: มีการทำเช่นนี้และรองรับเบราว์เซอร์เพิ่มเติมที่ไม่มีแม้แต่เหตุการณ์เริ่มต้นหรือไม่? ในการค้นคว้านี้ดูเหมือนว่า BlackBerry OS5 ไม่รองรับระบบเริ่มต้นดังนั้นจะต้องพึ่งพากิจกรรมการคลิกสำหรับเบราว์เซอร์นั้น ภาคผนวก: บางทีคำถามที่ครอบคลุมมากขึ้นคือ: ด้วย jQuery เป็นไปได้ / แนะนำให้จัดการกับทั้งการโต้ตอบแบบสัมผัสและการโต้ตอบกับเมาส์ด้วยการโยงเดียวกันหรือไม่? เป็นการดีที่คำตอบคือใช่ ถ้าไม่ฉันมีตัวเลือก: 1) เราใช้ WURFL เพื่อรับข้อมูลอุปกรณ์ดังนั้นสามารถสร้างเมทริกซ์ของอุปกรณ์ของเราเอง เราจะใช้ touchstart หรือคลิกทั้งนี้ขึ้นอยู่กับอุปกรณ์ 2) ตรวจหาการรองรับการสัมผัสในเบราว์เซอร์ผ่าน JS (ฉันต้องทำวิจัยเพิ่มเติมเกี่ยวกับเรื่องนี้ แต่ดูเหมือนว่าเป็นไปได้) อย่างไรก็ตามยังคงมีปัญหาหนึ่ง: สิ่งที่เกี่ยวกับอุปกรณ์ที่รองรับทั้งสอง โทรศัพท์บางรุ่นที่เรารองรับ (เช่น Nokias …
200 jquery  click  touchstart 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.