搜尋

首頁  >  問答  >  主體

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

有一段程式碼比較疑惑

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

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

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

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

仅有的幸福仅有的幸福2819 天前947

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-06-08 11:05:12

    如果寫成

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

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

    回覆
    0
  • typecho

    typecho2017-06-08 11:05:12

    document.ontouchstart == null;

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

    初始值就是Nul​​l,如果不等於null,可以說不支援

    document.ontouchstart !== null;

    回覆
    0
  • 取消回覆