अतीत में, माउस की उपस्थिति की जांच करने का सबसे अच्छा तरीका touch event support को देखना था। हालांकि, डेस्कटॉप क्रोम अब स्पर्श परीक्षणों का समर्थन करता है, जिससे यह परीक्षण मिस्फायर बन जाता है।मैं विश्वसनीय रूप से यह निर्धारित कैसे कर सकता हूं कि कोई ब्राउज़र माउस-ओवर ईवेंट का समर्थन करता है या नहीं?
क्या टच इवेंट की उपस्थिति के आधार पर इसे घुमाने के बजाए माउसओवर इवेंट सपोर्ट के लिए सीधे परीक्षण करने का कोई तरीका है?
संकल्प: AshleysBrain के उत्तर के आधार पर काम किया गया कोड यहां दिया गया है।
jQuery(function()
{
// Has mouse
jQuery("body").one("mousemove", function(e)
{
attachMouseEvents();
});
// Has touchscreen
jQuery("body").one("touchstart", function(e)
{
// Unbind the mouse detector, as this will fire on some touch devices. Touchstart should always fire first.
jQuery("body").unbind("mousemove");
attachTouchEvents();
});
});
महान से समारोह
isEventSupported
ले लिया! प्लेबुक (आरआईएम ओएस) के साथ प्रयास किया, और पहली बार ठीक काम करता है, लेकिन पेज रीफ्रेश पर यह mousemove (!?) का पता लगाता है। हालांकि, शरीर के बजाय कुछ #id को परीक्षण संलग्न करना पूरी तरह से काम करता है। – MaxD