国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

jQuery基于$.ajax設(shè)置移動(dòng)端click超時(shí)處理方法

2019-11-20 10:03:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了jQuery基于$.ajax設(shè)置移動(dòng)端click超時(shí)處理方法。分享給大家供大家參考,具體如下:

這里介紹jquery click事件如何在移動(dòng)端自動(dòng)轉(zhuǎn)換成touchstart事件。

因?yàn)橐苿?dòng)端click事件會(huì)比touchstart事件慢幾拍

移動(dòng)設(shè)備某個(gè)元素上事件執(zhí)行順序是:

touchstart

touchmove

touchend

click{mousedown->mousemove->mouseup}

click事件在移動(dòng)設(shè)備上雖然會(huì)識(shí)別但卻是最后一個(gè)執(zhí)行的,所以如果不把click事件換成touchstart事件的話,就可能造成延時(shí)導(dǎo)致交互上也慢了幾拍

所以在移動(dòng)端最好把click事件換成touchstart事件。

那么如何添加事件比較簡(jiǎn)單呢.

于是乎有了以下這種寫(xiě)法:

var handle = function (e) {  e.preventDefault(); // 阻止瀏覽器默認(rèn)行為  alert('fuck world');}$('body').on('touchstart mousedown', handle );

這樣在pc端瀏覽器上面alert只執(zhí)行一次,觸發(fā)的事件是mousedown

在ios設(shè)備safari瀏覽器上面alert也只執(zhí)行一次,觸發(fā)的事件是touchstart

為什么只執(zhí)行一次?

秘密在于當(dāng)執(zhí)行的是touchstart后,preventDefault掉了后面的click就不執(zhí)行了,“非常完美”.

^_^! 一如既往的android設(shè)備蛋疼是必須的,測(cè)試發(fā)現(xiàn)除qq瀏覽器外其它瀏覽器都會(huì)alert兩次

也就是說(shuō)touchstart和mousedown的handle函數(shù)都執(zhí)行了, 似乎是e.preventDefault()沒(méi)有起作用。具體原因不明...

因?yàn)橐嫒荩跃蜎](méi)辦法了只能通過(guò)判斷是否支持touch事件來(lái)分別添加事件了..

那就擴(kuò)展一個(gè)jquery方法插件吧仿一個(gè)on方法的插件方法比如名稱(chēng)為quickOn,(如果你連on方法怎么用都不知道,那你就走吧,離開(kāi)這里...)

;(function(){  var isTouch = ('ontouchstart' in document.documentElement) ? 'touchstart' : 'click';   if(!$.fn.quickOn){   $.fn.quickOn= function(){    arguments[0] = (arguments[0] === 'click') ? isTouch: arguments[0];    return $.fn.on.apply(this, arguments);   };  }})();

quickOn雖然名字尷尬了一點(diǎn),但是能用,例如:

$('body').quickOn('click', function(){ alert('fuck world') ;})

額。。后來(lái)想想,為什么不直接重載jquery的on方法呢??

來(lái)吧,試試

;(function(){  var isTouch = ('ontouchstart' in document.documentElement) ? 'touchstart' : 'click', _on = $.fn.on;   $.fn.on = function(){    arguments[0] = (arguments[0] === 'click') ? isTouch: arguments[0];    return _on.apply(this, arguments);   };})();

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《jquery中Ajax用法總結(jié)》、《jQuery切換特效與技巧總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》、《jQuery動(dòng)畫(huà)與特效用法總結(jié)》、《jquery選擇器用法總結(jié)》及《jQuery常用插件及用法總結(jié)

希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 华坪县| 泸水县| 安丘市| 鹿邑县| 彭州市| 富民县| 明星| 余姚市| 永仁县| 乌兰浩特市| 寿光市| 肇源县| 洛宁县| 新安县| 沧源| 平和县| 隆尧县| 郯城县| 樟树市| 元江| 锦州市| 吴旗县| 弋阳县| 涿州市| 涞源县| 吉林市| 青州市| 阿城市| 台安县| 屏南县| 南丰县| 凤阳县| 南通市| 海盐县| 万荣县| 蕲春县| 绥阳县| 临夏县| 禹州市| 渝中区| 恭城|