欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年05月14日 11:41:28   作者:懶人  
這篇文章主要介紹了jQuery基于$.ajax設(shè)置移動端click超時處理方法,分析了click事件與touchstart事件的原理與處理技巧,需要的朋友可以參考下

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

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

因?yàn)橐苿佣薱lick事件會比touchstart事件慢幾拍

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

touchstart

touchmove

touchend

click{mousedown->mousemove->mouseup}

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

所以在移動端最好把click事件換成touchstart事件。

那么如何添加事件比較簡單呢.

于是乎有了以下這種寫法:

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è)備蛋疼是必須的,測試發(fā)現(xiàn)除qq瀏覽器外其它瀏覽器都會alert兩次

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

因?yàn)橐嫒?,所以就沒辦法了只能通過判斷是否支持touch事件來分別添加事件了..

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

;(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') ;
})

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

來吧,試試

;(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)容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結(jié)》、《jQuery切換特效與技巧總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》、《jquery選擇器用法總結(jié)》及《jQuery常用插件及用法總結(jié)

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

相關(guān)文章

  • jQuery(非HTML5)可編輯表格實(shí)現(xiàn)代碼

    jQuery(非HTML5)可編輯表格實(shí)現(xiàn)代碼

    單擊單元格選中,選中過程中使用方向鍵更換選中的單元格,選中過程中按回車鍵或者直接雙擊單元格進(jìn)入可編輯狀態(tài),單元格失去焦點(diǎn)時保存修改的內(nèi)容
    2012-12-12
  • iframe子頁面獲取父頁面元素的方法

    iframe子頁面獲取父頁面元素的方法

    取得iframe中元素的方法有很多,在本文為大家介紹下在iframe子頁面獲取父頁面元素的方法,下面有個不錯的示例,感興趣的朋友可以參考下
    2013-11-11
  • jQuery點(diǎn)擊頁面其他部分隱藏下拉菜單功能

    jQuery點(diǎn)擊頁面其他部分隱藏下拉菜單功能

    這篇文章主要介紹了jQuery點(diǎn)擊頁面其他部分隱藏下拉菜單功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • jQuery實(shí)現(xiàn)進(jìn)度條效果代碼

    jQuery實(shí)現(xiàn)進(jìn)度條效果代碼

    這篇文章主要介紹了jQuery實(shí)現(xiàn)進(jìn)度條效果代碼,感興趣的小伙伴們可以參考一下
    2015-12-12
  • jQuery中[attribute*=value]選擇器用法實(shí)例

    jQuery中[attribute*=value]選擇器用法實(shí)例

    這篇文章主要介紹了jQuery中[attribute*=value]選擇器用法,實(shí)例分析了[attribute*=value]選擇器的功能、定義及匹配給定的屬性包含某些值的元素的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • 利用jquery實(shí)現(xiàn)實(shí)時更新歌詞的方法

    利用jquery實(shí)現(xiàn)實(shí)時更新歌詞的方法

    這篇文章主要給大家介紹了如何利用jquery實(shí)現(xiàn)實(shí)時更新歌詞的方法,文中給出了詳細(xì)的實(shí)現(xiàn)思路和示例代碼,對大家的參考借鑒具有一定的價值,有需要的朋友下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • 推薦25個超炫的jQuery網(wǎng)格插件

    推薦25個超炫的jQuery網(wǎng)格插件

    本文給大家推薦了25個jQuery網(wǎng)格特效插件,在此集合中,我們將展示一些非常酷的jQuery插件和資源在網(wǎng)格布局設(shè)計(jì),提高了數(shù)據(jù)的介紹。一些實(shí)用的插件,一定會提供一個美好的用戶體驗(yàn)。同時,一些精致的資源,這將有助于布局精美的數(shù)據(jù)范圍。
    2014-11-11
  • jquery 插件學(xué)習(xí)(一)

    jquery 插件學(xué)習(xí)(一)

    jquery插件,有幾種方法,有全局的,有對象方法的,一直覺得jquery插件迷迷糊糊,這陣子特地研究下,供那些像我一樣的初學(xué)者借鑒下。嘻嘻
    2012-08-08
  • 基于JQuery的簡單實(shí)現(xiàn)折疊菜單代碼

    基于JQuery的簡單實(shí)現(xiàn)折疊菜單代碼

    利用JQUERY簡單的實(shí)現(xiàn)功能菜單的折疊效果。本人初學(xué),寫后臺稍多一點(diǎn),很少寫前臺的效果。還請大蝦們多多指教。
    2010-09-09
  • 簡單實(shí)現(xiàn)jQuery彈窗效果

    簡單實(shí)現(xiàn)jQuery彈窗效果

    這篇文章主要教大家簡單實(shí)現(xiàn)jQuery彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評論