Từ ngTouch ngClick documentation:ngTouch ngClick không làm bong bóng
Một thay thế mạnh mẽ hơn đối với mặc định ngClick thiết kế để được sử dụng trên các thiết bị màn hình cảm ứng. Hầu hết các trình duyệt di động đều đợi khoảng 300ms sau khi nhấn và thả trước khi gửi sự kiện nhấp. Phiên bản này xử lý chúng ngay lập tức, và sau đó ngăn chặn sự kiện bấm sau đây từ tuyên truyền.
Điều này tạo ra hành vi không nhất quán trong đó trên máy tính, sự kiện nhấp tiếp tục bong bóng/tuyên truyền, nhưng trên thiết bị di động, nó dừng lại. Điều này có nghĩa là bất kỳ chỉ thị nào cao hơn trong dom nghe các nhấp chuột phần tử đều thất bại. Có vẻ như là một lỗi đối với tôi, nhưng tôi không phải là người đầu tiên phải làm việc này.
Nếu bạn nhìn vào ngTouch code, the problem stems from line 453
element.triggerHandler('click', [event]);
angular.element
đại biểu đến góc tích hợp trong tập hợp con của jQuery, được gọi là "jQuery lite" hoặc "jqLite."
jqLite có quyền truy cập vào jQuery triggerHandler
, nhưng không phải trigger
.
Các .triggerHandler() phương pháp hành xử tương tự như .trigger(), với những ngoại lệ sau:
- Sự kiện kích hoạt với .triggerHandler() không bong bóng lên DOM hệ thống cấp bậc; nếu chúng không được xử lý trực tiếp bởi phần tử đích, chúng sẽ không làm gì cả.
Vì vậy, các folks góc cần thêm trigger
hỗ trợ cho jqLite và thay đổi dòng để trigger
cho nó hoạt động tốt.
Trong thời gian chờ đợi, tôi có thể giải quyết vấn đề này bằng cách nào? Có cách nào để sử dụng ngClick bên trong của một chỉ thị tùy chỉnh?
Bonus cho cười: Comment from the ngTouch source code
// This is an ugly, terrible hack!
// Yeah, tell me about it.