Trong các ứng dụng di động trước đây mà tôi đã phát triển, tôi thấy rằng sự kiện click
không hoạt động như mong đợi ở tất cả các thiết bị (ví dụ: trong trò chơi mà người dùng phải chạm/nhấp nhanh trên màn hình , thay vì kích hoạt sự kiện click
, nhấp đúp đã được kích hoạt) và sử dụng touchstart
cho kết quả tốt hơn cho những gì tôi muốn.Các hoạt động liên lạc không được chấp nhận trên các ứng dụng di động
Kể từ đó, tôi bắt đầu nghe sự kiện touchstart
thay vì click
; nhưng thử nghiệm trên Chrome, tôi nhận được tin nhắn cảnh báo sau đây trong giao diện điều khiển JS:
hoạt động đòi hỏi tương tác người dùng rõ ràng về sự kiện touchstart Performing bị phản đối và sẽ được loại bỏ trong M54, khoảng tháng mười năm 2016. Xem https://www.chromestatus.com/features/5649871251963904 để biết thêm chi tiết .
tôi đến thăm trang liên kết (và các liên kết bên trong nó) và có vẻ như rằng hành vi mới này là để tránh những hành động không mong muốn nào đó, và đặc biệt là để tránh bên thứ ba iframes
hoặc quảng cáo (ứng dụng của tôi có không có) từ mở cửa sổ bật lên. Tôi đã thử thay đổi sự kiện thành touchend
(là một trong các liên kết được nêu "Sự kiện chạm sẽ tiếp tục hoạt động như trước") nhưng có thông báo cảnh báo tương tự.
Và câu hỏi của tôi:
- Liệu đó có phải chỉ ảnh hưởng đến Chrome, hoặc nó sẽ ảnh hưởng đến các ứng dụng web của tôi (với Cordova/PhoneGap) dành cho Android và iOS?
- Tôi nên sử dụng sự kiện nào để thay thế
touchstart
và tránh các vấn đề tôi gặp phải trong quá khứ? Tôi có thể quay lạiclick
, nhưng việc nhấp/nhấn nhanh sẽ vẫn là một vấn đề.