2015-02-24 18 views
5

Hiện nay, để phát hiện các thiết bị màn hình cảm ứng tôi sử dụng này trong javascript của tôi:createTouch vs ontouchstart - cách tốt nhất để phát hiện thiết bị màn hình cảm ứng?

if ('createTouch' in document) { 
// do touchscreen-specific stuff 
} 

Tôi thấy rằng nhiều nhà phát triển sử dụng ontouchstart, như thế này:

if ('ontouchstart' in document) { 
// do touchscreen-specific stuff 
} 

sự khác biệt giữa createTouchontouchstart là gì? Cái nào là an toàn nhất để sử dụng? Có một số lựa chọn thay thế đơn giản, đáng tin cậy khác cho hai loại này không?

Trả lời

3

touchstart Sự kiện này được kích hoạt khi một điểm tiếp xúc được đặt trên bề mặt cảm ứng ([MDN] [1])

createTouch phương pháp tạo ra và trả về một đối tượng cảm ứng mới. ([MDN] [2])

Cách tốt hơn từ quan điểm của tôi là phát hiện sự tồn tại của sự kiện trong cửa sổ hơn là chỉ tạo ra sự kiện.

Ngoài ra, câu lệnh của bạn chỉ kiểm tra các sự kiện cảm ứng trong đối tượng cửa sổ, không phải màn hình cảm ứng, như điện thoại cửa sổ, vì vậy có thể bạn cũng muốn kiểm tra các sự kiện con trỏ.

P .: xem tại thư viện Modernizr có phát hiện "chạm" và hơn thế nữa.

2

ontouchstart là trình kích hoạt dựa trên sự kiện. Nó sẽ được gọi khi người dùng thực hiện một số hành động. Thông tin thêm tại ontouchstart event. Do đó, nó là hiệu quả hơn để thực hiện hành động dựa trên người dùng.

Trong khi createtouch sẽ được gọi, không quan trọng nếu người dùng đã thực hiện một số hành động hay không. Ai đó hãy sửa tôi, nếu tôi sai. :)

Các vấn đề liên quan