您的位置:首頁技術文章
文章詳情頁

javascript - 請教一個關于touchstart事件的小問題

瀏覽:91日期:2022-11-23 14:00:32

問題描述

有一段代碼比較疑惑

var clickEventType=((document.ontouchstart!==null)?’click’:’touchstart’);

如果說 document.ontouchstart!==null,那說明 touchstart 是有的,那應該這樣是:

var clickEventType=((document.ontouchstart!==null)?’touchstart’:’click’)

為什么是上面那種寫法呢?

問題解答

回答1:

如果寫成

var clickEventType=((typeof document.ontouchstart ==='undefined')?’click’:’touchstart’)

你就明白了,ontoucstart 是doucment對象的一個屬性,但是ontouchstart 指向函數的的一個引用,也就是ontouchstart指向一個對象,未指向時,ontouchstart 需要一個初始值 ,這個初始值是null,如果支持touchstart事件,那ontouchstart初始值設為null ,所以是這樣的寫法

回答2:

document.ontouchstart == null;

這說明當前瀏覽器是支持ontouchstart的,因為如果不支持,document.ontouchstart的值是undefined,再者document.ontouchstart沒有被綁定事件的情況下就是等于null, 所以你才可以這樣使用document.ontouchstart = function(){};

初始值就是Null,如果不等于null,可以說不支持

document.ontouchstart !== null;

標簽: JavaScript
相關文章:
国产综合久久一区二区三区