Javascript 如何检测非功能指针事件?

Javascript 如何检测非功能指针事件?,javascript,css,opera,modernizr,pointer-events,Javascript,Css,Opera,Modernizr,Pointer Events,它说Opera12不支持指针事件。这是真的,它破坏了我的网站。问题是,他们确实支持css中的属性,即使他们似乎没有用它做正确的事情。在这种情况下,Modernizer形式的特征检测是无用的: >>> Modernizr.testProp('pointerEvents') true 已被删除。如何在javascript代码中检测这个角落案例?还是为了得到歌剧版 好吧,这是我的坏办法,我希望有更好的办法。。。这是在typescript中: ... public i

它说Opera12不支持指针事件。这是真的,它破坏了我的网站。问题是,他们确实支持css中的属性,即使他们似乎没有用它做正确的事情。在这种情况下,Modernizer形式的特征检测是无用的:

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

已被删除。如何在javascript代码中检测这个角落案例?还是为了得到歌剧版

好吧,这是我的坏办法,我希望有更好的办法。。。这是在typescript中:

    ...
    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;
}
。。。
public isBadOpera():布尔值
{
var isOpera=Object.prototype.toString.call(窗口['opera'])=='[Object opera]';
if(等参线)
{
var opera:OperaVersion=window['opera'];
var version_string=opera.version();
变量版本_re=/(\d+)(\d+)/;
var mo=版本执行(版本字符串);
如果(mo)
{
var MAJUR_版本=编号(mo[1]);

if(major_versionOpera提供了自己获取版本的简单方法。如果您确定Opera

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

if(window.opera&&parseInt(opera.version(),如果只想检测指针事件是否已启用,可以根据以下命令使用navigator属性:


这为Opera 15及以上版本返回true,但为Opera 12及以下版本返回undefined,据我所知,这是您想要的。

这是用于输入指针事件,而不是
window.navigator.pointerEnabled