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

อินเทอร์เฟซแบบสัมผัสมีข้อควรพิจารณาเฉพาะที่ใช้ไม่ได้กับโหมดอินพุตอื่น ๆ และในทางกลับกัน

17
ปิดใช้งานเอฟเฟกต์โฮเวอร์บนเบราว์เซอร์มือถือ
ฉันกำลังเขียนเว็บไซต์ที่ตั้งใจจะใช้ทั้งจากเดสก์ท็อปและแท็บเล็ต เมื่อมีการเยี่ยมชมจากเดสก์ท็อปฉันต้องการให้พื้นที่ที่คลิกได้ของหน้าจอสว่างขึ้นพร้อมเอ:hoverฟเฟกต์ (สีพื้นหลังที่แตกต่างกัน ฯลฯ ) เมื่อใช้แท็บเล็ตไม่มีเมาส์ดังนั้นฉันจึงไม่ต้องการเอฟเฟกต์แบบโฮเวอร์ใด ๆ ปัญหาคือเมื่อฉันแตะอะไรบางอย่างบนแท็บเล็ตเบราว์เซอร์จะมี "เคอร์เซอร์ของเมาส์ที่มองไม่เห็น" บางชนิดซึ่งย้ายไปยังตำแหน่งที่ฉันแตะแล้วปล่อยไว้ที่นั่นดังนั้นสิ่งที่ฉันเพิ่งแตะจะสว่างขึ้นพร้อมกับ เลื่อนเอฟเฟกต์จนกว่าฉันจะแตะอย่างอื่น ฉันจะรับเอฟเฟกต์โฮเวอร์ได้อย่างไรเมื่อฉันใช้เมาส์ แต่กดปุ่มเหล่านี้เมื่อฉันใช้หน้าจอสัมผัส ในกรณีที่มีคนคิดจะแนะนำฉันไม่ต้องการใช้การดมกลิ่นของตัวแทนผู้ใช้ อุปกรณ์เดียวกันอาจมีทั้งหน้าจอสัมผัสและเมาส์ (อาจจะไม่ธรรมดาในปัจจุบัน แต่มีอีกมากมายในอนาคต) ฉันไม่สนใจอุปกรณ์นี้ฉันสนใจวิธีการใช้งาน: เมาส์หรือหน้าจอสัมผัส ฉันพยายามแล้ว hooking touchstart, touchmoveและtouchendเหตุการณ์ที่เกิดขึ้นและเรียกpreventDefault()ทั้งหมดของพวกเขาซึ่งจะปราบ "การเคอร์เซอร์ของเมาส์ที่มองไม่เห็น" บางส่วนของเวลา; แต่ถ้าฉันแตะอย่างรวดเร็วไปมาระหว่างสององค์ประกอบที่แตกต่างกันหลังจากแตะสองสามครั้งมันจะเริ่มขยับ "เคอร์เซอร์ของเมาส์" และทำให้เอฟเฟกต์โฮเวอร์สว่างขึ้น - มันเหมือนกับว่าฉันpreventDefaultไม่ได้รับเกียรติเสมอไป ฉันจะไม่เบื่อคุณด้วยรายละเอียดเว้นแต่จำเป็น - ฉันไม่แน่ใจด้วยซ้ำว่านั่นเป็นแนวทางที่ถูกต้อง ถ้าใครมีวิธีแก้ไขที่ง่ายกว่านี้ฉันหูแว่ว แก้ไข:สิ่งนี้สามารถทำซ้ำได้ด้วย CSS มาตรฐานปลอม:hoverแต่นี่เป็นคำอธิบายสั้น ๆ สำหรับการอ้างอิง <style> .box { border: 1px solid black; width: 150px; height: 150px; …
113 javascript  hover  touch 

14
ปิดใช้งานตัวเลือก "ซูม" แตะสองครั้งในเบราว์เซอร์บนอุปกรณ์ระบบสัมผัส
ฉันต้องการปิดการใช้งานฟังก์ชันการซูมด้วยการแตะสองครั้งบนองค์ประกอบที่ระบุในเบราว์เซอร์ (บนอุปกรณ์ระบบสัมผัส) โดยไม่ต้องปิดฟังก์ชันการซูมทั้งหมด ตัวอย่างเช่น: องค์ประกอบหนึ่งสามารถแตะได้หลายครั้งเพื่อให้บางสิ่งเกิดขึ้น ใช้งานได้ดีบนเบราว์เซอร์เดสก์ท็อป (ตามที่คาดไว้) แต่ในเบราว์เซอร์ของอุปกรณ์ระบบสัมผัสจะซูมเข้า
112 html  browser  touch  zoom 

6
ความหมายของค่าบูลีนที่ส่งคืนจากวิธีการจัดการเหตุการณ์ใน Android คืออะไร
ใน Android วิธีการฟังเหตุการณ์ส่วนใหญ่จะส่งคืนค่าบูลีน ค่าจริง / เท็จนั้นหมายถึงอะไร? เหตุการณ์ต่อมาจะเป็นอย่างไร class MyTouchListener implements OnTouchListener { @Override public boolean onTouch(View v, MotionEvent event) { logView.showEvent(event); return true; } } เกี่ยวกับตัวอย่างข้างต้นถ้าผลตอบแทนจริงในonTouchวิธีผมพบว่าทุกเหตุการณ์ touch (ลง, ขึ้น, ย้าย, ฯลฯ ) ได้รับการบันทึกตามฉันlogview ในทางตรงกันข้ามหากส่งคืนเป็นเท็จเหตุการณ์ DOWN ถูกจับเท่านั้น ดูเหมือนว่าการส่งคืนเท็จจะป้องกันไม่ให้เหตุการณ์แพร่กระจาย ฉันถูกไหม ? นอกจากนี้ในOnGestureListenerหลายวิธีต้องคืนค่าบูลีนด้วย มีความหมายเดียวกันหรือไม่?

19
จะรับ indexpath.row ได้อย่างไรเมื่อเปิดใช้งานองค์ประกอบ
ฉันมี tableview พร้อมปุ่มและฉันต้องการใช้ indexpath.row เมื่อมีการแตะปุ่มใดปุ่มหนึ่ง นี่คือสิ่งที่ฉันมีอยู่ในตอนนี้ แต่จะเป็น 0 เสมอ var point = Int() func buttonPressed(sender: AnyObject) { let pointInTable: CGPoint = sender.convertPoint(sender.bounds.origin, toView: self.tableView) let cellIndexPath = self.tableView.indexPathForRowAtPoint(pointInTable) println(cellIndexPath) point = cellIndexPath!.row println(point) }

5
มีตำแหน่งเทียบเท่ากับ e.PageX สำหรับเหตุการณ์ 'touchstart' เนื่องจากมีสำหรับเหตุการณ์คลิกหรือไม่?
ฉันพยายามรับตำแหน่ง X ด้วย jQuery ของเหตุการณ์ touchstart ที่ใช้กับฟังก์ชันถ่ายทอดสดหรือไม่ ได้แก่ $('#box').live('touchstart', function(e) { var xPos = e.PageX; } ); ตอนนี้สิ่งนี้ใช้ได้กับ "คลิก" เป็นเหตุการณ์ ฉันจะได้รับมันด้วยเหตุการณ์สัมผัสบนโลก (โดยไม่ใช้alpha jQuery) ได้อย่างไร ความคิดใด ๆ ? ขอบคุณสำหรับความช่วยเหลือ

2
jQuery UI slider รองรับ Touch & Drag / Drop บนอุปกรณ์มือถือ
ฉันได้กำหนดสไตล์และใช้ตัวเลื่อน jQuery UI ในโปรเจ็กต์แล้ว แม้ว่าจะตอบสนอง แต่แถบเลื่อนจะไม่ตอบสนองต่อการสัมผัสและลาก แต่คุณต้องแตะตำแหน่งที่คุณต้องการให้แถบเลื่อนไป ฉันต้องการหลีกเลี่ยงการเปลี่ยนเป็น jQuery mobile UI ซึ่งรองรับการแตะและลากเนื่องจากเราใช้ jQuery (ไม่ใช่มือถือ) UI อย่างกว้างขวางอยู่แล้ว ฟังก์ชันที่เราต้องการ: นี่คือ สิ่งที่เราใช้: ที่นี่ บนเดสก์ท็อปคุณไม่สามารถบอกความแตกต่างได้ บนอุปกรณ์เคลื่อนที่เป็นที่ประจักษ์ ใครทราบวิธีเพิ่มการสนับสนุนนี้ใน jquery UI? $("#videographers").slider({ value: 2, min: 1, max: 3, step: 1, slide: function(event, ui) { return calcTotal(ui.value); } });

4
ตัวเลื่อน jQuery UI บนอุปกรณ์สัมผัส
ฉันกำลังพัฒนาเว็บไซต์โดยใช้ jQuery UI และมีองค์ประกอบหลายอย่างในไซต์ของฉันที่ดูเหมือนจะไม่เข้ากันเมื่อดูบนอุปกรณ์หน้าจอสัมผัส พวกเขาไม่ก่อให้เกิดข้อผิดพลาดใด ๆ แต่พฤติกรรมไม่ใช่สิ่งที่ควรจะเป็น องค์ประกอบที่เป็นปัญหาคือแถบเลื่อนและตัวเลื่อนช่วงตามที่กำหนดโดย jQuery UI บนหน้าจอสัมผัสแทนที่จะลงทะเบียนการสัมผัสเหมือนการหยิบที่จับและการลากในขณะที่ลากแฮนเดิลข้ามแถบเลื่อนเพียงแค่เลื่อนหน้าเว็บทั้งหมดไปที่ด้านข้างของหน้าจอ ใช้งานได้ถ้าคุณแตะที่จับแล้วแตะตำแหน่งบนแถบเลื่อนที่คุณต้องการให้แฮนเดิลสิ้นสุดลง แต่มันช้ามากและไม่เหมาะ ความคิดใด ๆ ? ฉันลองดาวน์โหลดปลั๊กอิน jqtouch จากนั้นเชื่อมต่อ.touch([...])กับการโทรทั้งหมดไปยัง slider () และ rangelider () แต่ไม่ได้ผล ขอบคุณ! อัปเดต: ฉันพบ "แพทช์" นี้ในเว็บไซต์ jQuery UI http://bugs.jqueryui.com/ticket/4143 ที่บอกว่ามันอำนวยความสะดวกในการเลื่อนบน iPhone แต่ตอนนี้มีคำถามโง่ ๆ อีกอย่าง: ฉันจะรวม "โปรแกรมแก้ไข" นี้เข้ากับรหัสของฉันได้อย่างไร? ฉันเพิ่งรวมไว้ที่จุดเริ่มต้นของรหัสเช่นปลั๊กอินหรือไม่?
96 slider  touch  jqtouch 

8
การลากและวางขั้นพื้นฐานใน iOS
ฉันอยากได้มุมมองที่มียานพาหนะขับไปรอบ ๆ ที่ผู้ใช้สามารถลากและวางได้ คุณคิดว่ากลยุทธ์ขนาดใหญ่ที่ดีที่สุดในการทำสิ่งนี้คืออะไร? จะเป็นการดีที่สุดที่จะรับเหตุการณ์การสัมผัสจากมุมมองที่เป็นตัวแทนของยานพาหนะหรือจากมุมมองที่กว้างขึ้น? มีกระบวนทัศน์ง่ายๆที่คุณใช้ในการลากและวางที่คุณพอใจหรือไม่? อะไรคือข้อเสียของกลยุทธ์ที่แตกต่างกัน?

3
ทำให้องค์ประกอบไม่สามารถคลิกได้ (คลิกสิ่งที่อยู่ด้านหลัง)
ฉันมีรูปภาพคงที่ซึ่งซ้อนทับหน้าเมื่อผู้ใช้กำลังเลื่อนหน้าจอสัมผัส (มือถือ) ฉันต้องการทำให้รูปภาพนั้น "ไม่สามารถคลิกได้" หรือ "ไม่ใช้งาน" หรืออะไรก็ตามเพื่อที่ว่าหากผู้ใช้แตะและลากจากรูปภาพนั้นหน้าที่อยู่ข้างหลังจะยังคงเลื่อนราวกับว่ารูปภาพนั้นไม่มีการ "บล็อก" การโต้ตอบ เป็นไปได้หรือไม่ หากจำเป็นฉันสามารถลองให้ภาพหน้าจอเป็นตัวอย่างสิ่งที่ฉันหมายถึง ขอบคุณ!
92 html  css  mobile  scroll  touch 

10
ขจัดความล่าช้า 300 มิลลิวินาทีในเหตุการณ์การคลิกใน Safari บนมือถือ
ฉันได้อ่านพบว่าSafari บนอุปกรณ์เคลื่อนที่มีความล่าช้า 300 มิลลิวินาทีในเหตุการณ์การคลิกตั้งแต่เวลาที่คลิกลิงก์ / ปุ่มจนถึงเวลาที่เหตุการณ์เริ่ม สาเหตุของความล่าช้าคือการรอเพื่อดูว่าผู้ใช้ตั้งใจจะดับเบิลคลิกหรือไม่ แต่จากมุมมองของ UX การรอ 300ms มักไม่เป็นที่พึงปรารถนา ทางออกหนึ่งในการขจัดความล่าช้า 300 มิลลิวินาทีนี้คือการใช้การจัดการ "แตะ" ของ jQuery Mobile น่าเสียดายที่ฉันไม่คุ้นเคยกับเฟรมเวิร์กนี้และไม่ต้องการโหลดเฟรมเวิร์กขนาดใหญ่หากสิ่งที่ฉันต้องการคือโค้ดหนึ่งหรือสองบรรทัดที่ใช้อย่างtouchendถูกต้อง เช่นเดียวกับไซต์ต่างๆไซต์ของฉันมีเหตุการณ์การคลิกมากมายเช่นนี้: $("button.submitBtn").on('click', function (e) { $.ajaxSubmit({... //ajax form submisssion }); $("a.ajax").on('click', function (e) { $.ajax({... //ajax page loading }); $("button.modal").on('click', function (e) { //show/hide modal dialog }); และสิ่งที่ฉันต้องการจะทำคือการกำจัด 300ms ล่าช้าในทุกกิจกรรมการคลิกที่ใช้โค้ดเดียวเช่นนี้ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.