4
var ClickOrTouchEvent = ("ontouchend" in document.documentElement ? "touchend" : "click");
$("#MyButton").on(ClickOrTouchEvent, function() {
// Do something
});
這可行,但可能有更優雅的方式來檢測觸摸事件支持並分配「click」或「touchend」事件。是否有一種更優雅的方式來檢測觸摸事件支持並分配「click」或「touchend」事件?
,我只是想直線上升的Javascript/jQuery的解決方案:
然後調用addTouch應用上使用jQuery UI功能的要素是什麼? – Shane
然後我認爲你的解決方案很好。我試圖指出的是,一些非常流行的框架以與你相同的方式測試觸摸兼容性。唯一的區別是他們使用jquery.support和一些更高級的init。 –
我不建議檢測觸摸事件*支持*。相反,最好檢測是否使用了觸摸事件*(例如,禁用touchstart上的點擊處理器效果)。檢測觸摸支持的問題在於,瀏覽器可能同時支持觸摸和鼠標(例如,具有觸摸屏的筆記本電腦),或者甚至聲稱支持非觸摸設備上的觸摸事件。 – hayavuk