Tôi đang gặp sự cố với jQuery 1.6.4, iOS 5 và đăng ký các sự kiện chạm/chạm (như được nêu trong tiêu đề, rõ ràng).Sự kiện jQuery trên iOS 5
Đi đoạn mã sau:
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="mmpa/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var $body = $('body');
$('<button>').html('test jQuery').bind('touchstart', function() { alert('touchstart'); }).appendTo($body);
});
</script>
</head>
<body>
<button ontouchstart="alert('touchstart');">test pure JS</button>
</body>
</html>
Nút "tinh khiết JS" cho thấy cảnh báo trong iOS 4.3 và iOS 5, nhưng nút "jQuery" chỉ hoạt động trên iOS 4.3. Được thử nghiệm trên trình giả lập iPad/iPhone, 4.3 và 5; cũng được thử nghiệm trên iPhone 4.3 thực, iPhone 5.0 và iPad 5.0. Phản ứng tương tự nếu tôi sử dụng <input type="button">
hoặc thậm chí đơn giản <a>
thay vì <button>
.
Đây có phải là vấn đề liên quan đến jQuery như tôi tin không?
không sử dụng bind ('touchstart') và ontouchstart = "". Sử dụng một trong số họ, và không thích sử dụng javascript nội tuyến. –
Đó là một bằng chứng về khái niệm để cho thấy rằng JS nội tuyến hoạt động khi jQuery không. Tất nhiên tôi chưa bao giờ sử dụng JS nội tuyến trong mã thực. – Cyrille
Tôi có thể tạo lỗi này với jQ 1.5.2 và sự kiện nhấp chuột, vì vậy có lẽ bạn nên sửa đổi tiêu đề thành "jQuery Events trên iOS 5" – webXL