Dokunmatik ekran kullanıcılarının, hızlıca sola hareket ettirerek web sitelerinde ileri geri hareket etmelerine ve sağa doğru hareket ettirmelerini sağlamak için jQuery Mobile kullanıyorum. Sorun şu ki, swipeleft ve swiperight olayları da normal bir fare ile tetikleniyor ve bu çok can sıkıcı çünkü kullanıcı fareyle bir metin seçtiğinde ortaya çıkıyor.jQuery Mobil dokunma hareketi yalnızca dokunmatik ekran için ve fare için değil
Sorunu web sitesinde (http://laetitia-stucki.ch/) ve aşağıdaki JavaScript snippet'inde görebilirsiniz.
Kaydırma olaylarını yalnızca dokunmatik aygıtlarla değil, normal bir fare ile nasıl tetikleyeceğinizi biliyor musunuz?
"use strict";
$(document).ready(function() {
(function() {
$("body").on("swiperight", function(e) { navigate_prev_page(); });
$("body").on("swipeleft", function(e) { navigate_next_page(); });
function navigate_next_page() {
var target_page = $(".button-next").first().attr("href");
window.location.href = target_page;
}
function navigate_prev_page() {
var target_page = $(".button-prev").first().attr("href");
window.location.href = target_page;
}
})();
});
Kaydırma olayları, fare hareketleri ve dokunma hareketleri için çalışır. Önce cihazı tanımlamanız ve yalnızca dokunmatik ekranlar için kaydırma etkinliklerini uygulamanız gerekir. Konuyla ilgili bu lastiği kontrol edin: http://stackoverflow.com/questions/3514784/what-is-the-best-way-to-detect-a-mobile-device-in-jquery –