js cũng hỗ trợ cử chỉ cảm ứng. Tôi đang đóng vai trò của tôi về ngăn chặn hành động mặc định. khi tôi đặt event.preventDefault
hoặc event.gesture.preventDefault()
hoặc thậm chí áp dụng tham số {prevent_defaults: true }
trên búa, nó chỉ kích hoạt hành động mặc định trên neo. Làm thế nào tôi có thể ngăn chặn điều đó và/hoặc tôi đang làm gì sai?hammer.js và preventDefault();
Đoạn mã;
function initializeNavigation() {
$("nav").hammer({prevent_defaults: true }).on("tap", "a", function(event) {
event.preventDefault();
event.gesture.preventDefault();
var target = $(this.hash);
scrollToTarget(target, 1200);
// if there is an open detailItem then close it.
if (detailItemOpen) {
$("div." + detailItemOpen).slideUp();
}
})
if (Modernizr.mq('only screen and (max-width: 767px)')) {
initializeMobileMenuAndSetButton();
}
}
Mặc dù không hoàn toàn là một bản sao, câu trả lời này có thể giúp: http://stackoverflow.com/questions/10714868/how-to-disable-the-default-behavior-of-an-anchor-in-jquery-mobile-ios – CodingIntrigue
Tôi không nhận được câu trả lời của bạn vì nó cũng xảy ra trong Firefox. Nó có liên quan đến Hammer.js và các sự kiện. Khi tôi chỉ sử dụng các sự kiện nhấp chuột, mọi thứ hoạt động chính xác trên các thiết bị bằng chuột. – myradon
Đúng, cuộc thảo luận dài về nó ở đây. Đó là về stopPropagation(), nhưng cũng áp dụng để ngăn chặnDefault(): https://github.com/EightMedia/hammer.js/issues/237 – CodingIntrigue