2012-09-11 49 views
5

Có cách nào để thay thế tất cả sự kiện nhấp chuột bằng sự kiện vclick trong jQuery mobile không?jQuery Mobile: thay thế sự kiện nhấp chuột bằng sự kiện vclick

Giải pháp duy nhất tôi đã tìm thấy cho đến nay là để đăng ký một sự kiện vclick như sau

$('a').bind("vclick", function (ev) { 
    // Do Some stuff 
    ev.preventDefault(); 
}); 

Vấn đề là giải pháp này không ngăn cản sự kiện jQuery di động nhấp chuột để bắn để nhấp chuột được kích hoạt hai lần

+0

Bạn có muốn ghi đè sự kiện nhấp chuột và lưu trữ cả nhấp chuột và vclick trong tệp không? –

+0

Tôi muốn một liên kết nhấp vào kích hoạt sự kiện vclick thay vì sự kiện nhấp chuột thông thường để tránh sự chậm trễ 300ms mà chúng tôi quan sát trên các thiết bị cảm ứng. – Laurent

Trả lời

4

Đối với một số lý do, tôi đã nhận như sau để làm việc:

$('a').bind('vclick click',function(e){ 
    e.preventDefault(); 
    //do some stuff// 
}) 

Nếu không có sự e.preventDefault() sự kiện cháy hai lần. Với nó, nó chỉ cháy một lần (nhưng nó cháy)

Điều này tương tự như những gì bạn đã nói, nhưng có thể bao gồm tất cả hơn.

+0

Nó sẽ không giống như $ ('a'). Bind ('click', function (e) {? – Seanonymous

+0

Tôi không biết. Tôi không nhớ mình đã đạt được điều đó như thế nào. vào thời điểm đó, nhưng bây giờ tôi không thể tái tạo lại suy nghĩ của mình. Tôi sẽ nói đúng, nhưng tôi nghĩ có một số lý do giải pháp hoạt động như dự định – user1167442

+0

Nó giúp tôi tiết kiệm rất nhiều công sức. – KJS

2
$("#elementId").bind('vclick',function(event){ 
event.preventDefault(); 
//your code.. 
}); 

tính năng này hoạt động bình thường.

Các vấn đề liên quan