簡體   English   中英

如何檢測非功能指針事件?

[英]How can I detect non-functional pointer-events?

這里說Opera 12不支持指針事件。 沒錯,它破壞了我的網站。 問題在於,即使他們似乎沒有對css的屬性做正確的事情,他們也確實支持css中的屬性。 在這種情況下,采用Modernizr形式的特征檢測是沒有用的:

>>> Modernizr.testProp('pointerEvents')
true

jQuery.browser已被刪除。 我該怎么做才能在我的JavaScript代碼中檢測到這種情況? 還是要獲得Opera的版本?

Opera提供了一種獲取版本的簡單方法。 如果您確定Opera

if (window.opera && parseInt(opera.version(), <== 12)) {
 //do the opera thing
}

將檢測小於或等於12的歌劇

好的,這是我的錯誤解決方案,希望有更好的解決方案...這是打字稿中的內容:

    ...
    public isBadOpera(): boolean
    {
        var isOpera = Object.prototype.toString.call(window['opera']) == '[object Opera]';
        if ( isOpera )
        {
            var opera: OperaVersion = window['opera'];
            var version_string = opera.version();
            var version_re = /(\d+).(\d+)/;
            var mo = version_re.exec(version_string);
            if ( mo )
            {
                var major_version = Number(mo[1]);
                if ( major_version <= 12)
                {
                    return true;
                }
            }
        }
        return false;
    }
    ...

interface Opera {
    version():string;
}

如果只想檢測是否啟用了指針事件,則可以根據W3C規范使用navigator屬性:

window.navigator.pointerEnabled

對於Opera 15及更高版本,這是正確的,但是對於Opera 12及以下版本,則沒有定義,這是您從我的理解中所想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM