0

ユーザーが JavaScript コードでモバイル タッチ デバイスを使用して、ホバー eventHandler を登録しないようにする必要があります。次のような 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

設定と内部変数は公開されませんが、同じチェック条件を単純に使用できます。

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 に答える