Tôi đang xây dựng một ứng dụng cho iPhone và iPad sử dụng PhoneGap và jQMLàm thế nào để vô hiệu hóa hành vi mặc định của một Neo trong jQuery Mobile (iOS)
<div class="ui-block-a">
<a id="btnLink" href="#pageID" data-role="button"></a>
</div>
và nó hoạt động tốt, nhưng khi tôi chạy nó trên thiết bị (không thử giả lập) và nhấn một báo dài, tôi nhận được menu iPhone mặc định cho một liên kết trong một trình duyệt bình thường để mở hoặc sao chép liên kết.
làm cách nào để tắt tính năng mặc định này trong ứng dụng của tôi?
tôi đã cố gắng những không thành công:
$("a").click(function(event) {
event.preventDefault(); // long press menu still apear
});
$("a").bind('click',function(event) {
console.log(['preventingclick',event.type]);
event.preventDefault(); // long press menu still apear
});
nếu tôi buộc ở dưới 'taphold' Tôi vẫn thấy menu trên báo chí dài, nhưng sau khi tôi bấm hủy tôi thấy giao diện điều khiển đăng nhập: [ "ngăn chặn lâu báo chí", "taphold"]
$("a").bind('taphold', function(event) {
console.log(['preventing long press',event.type]);
event.preventDefault(); // long press menu still apear
});
nếu tôi sử dụng đại biểu vào 'taphold' sự kiện như thế này:
$("a").delegate('taphold', function(event) {
console.log(['preventing long press',event.type]);
event.preventDefault();
});
sẽ sửa chữa thứ e vấn đề, nhưng tôi không thể đính kèm bất kỳ sự kiện nữa, vì vậy không các nút của tôi sẽ làm việc sau đó.
$('#btnLink').bind("click", function() {
$.mobile.changePage('mypage', 'slide'); // won't fire any more because of the delegate before
});
Tôi biết rằng đại biểu sẽ áp dụng trên tất cả các yếu tố hiện tại và trong tương lai, nhưng tôi nghĩ rằng tôi đang nhận được câu trả lời, nhưng chưa.
Cảm ơn trước
không 'taphold' yêu cầu jQuery mobile? –