0

我需要知道用户是否在我的 JavaScript 代码中使用移动触摸设备来不注册任何悬停事件处理程序。因为我不想像这样使用 userAgent 嗅探:

isMobile = function() {
  return /iPhone|iPod|iPad|Android|BlackBerry/.test(navigator.userAgent);
};

我希望 conditionizr 给我类似的东西conditionizr.isTouch。我想出的解决方案是像这样测试触摸类:

isMobile = function() {
  return $('#conditionizr').hasClass('touch');
};

这是有效的,因为 conditionizr 将类 touch 添加到 html

<html id="conditionizr" class=" chrome no-retina no-touch mac">

但我想有更好的方法来访问设置吗?

4

2 回答 2

2

设置和内部变量没有公开,但您可以简单地使用相同的检查 conditionizr 正在使用:

isMobile = function() {
  return ('ontouchstart' in window)
}
于 2013-06-18T15:59:20.287 回答
2

Conditionizr v4 版本更新

新的 Conditionizr API 完全符合您的上述要求:

if (conditionizr.touch) {
    // touch
}

...以及许多其他出色的增强功能,例如 .on() API:

conditionizr.on('chrome', function () {
    // callback for Chrome
});

以及更多!

http://conditionizr.com

于 2013-11-18T15:54:12.463 回答