ブラウザ イベントを操作しているときに、モバイル デバイス用の Safari の touchEvents を組み込み始めました。addEventListener
条件文が積み重なっていることに気が付きました。このプロジェクトでは JQuery を使用できません。
標準のイベント リスナー:
/* option 1 */
window.addEventListener('mousemove', this.mouseMoveHandler, false);
window.addEventListener('touchmove', this.mouseMoveHandler, false);
/* option 2, only enables the required event */
var isTouchEnabled = window.Touch || false;
window.addEventListener(isTouchEnabled ? 'touchmove' : 'mousemove', this.mouseMoveHandler, false);
JQuery ではbind
、次のように複数のイベントが許可されます。
$(window).bind('mousemove touchmove', function(e) {
//do something;
});
JQuery の例のように 2 つのイベント リスナーを組み合わせる方法はありますか?例:
window.addEventListener('mousemove touchmove', this.mouseMoveHandler, false);
ご提案やヒントがあればぜひお聞かせください。
ベストアンサー1
望ましい結果を実現するコンパクトな構文、POJS:
"mousemove touchmove".split(" ").forEach(function(e){
window.addEventListener(e,mouseMoveHandler,false);
});