国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

拋磚引玉 自定義jQuery擴展接口

開發(fā) 開發(fā)工具 前端
jQuery是一款很優(yōu)秀的輕量級JavaScript框架,有其獨特的優(yōu)點,本文將用一個簡單的例子演示jQuery的擴展接口的簡單示例,希望能對讀者起到拋磚引玉的作用。

jQuery是一款很優(yōu)秀的輕量級JavaScript框架,有其獨特的優(yōu)點。很多Web開發(fā)者都卻對其樂此不疲。因為在這個框架中,除了擁有豐富的客戶端處理功能、動畫功能外,更是提供了很自定義擴展接口,方便更多的開發(fā)者來擴展jQuery。

51CTO推薦專題: jQuery從入門到精通

  1. $.extend({  
  2.       max: function(a, b) {  
  3.           return a > b ? a : b;  
  4.       },  
  5.       min: function(a, b) {  
  6.           return a > b ? b : a;  
  7.       },  
  8.       avg: function(a, b) {  
  9.           return a / b;  
  10.       }  
  11. });  

該示例用以在jQuery中增加新函數(shù),該函數(shù)是靜態(tài)函數(shù)。調(diào)用如下:

  1. jQuery.min(2,3); // => 2  
  2. jQuery.max(4,5); // => 5 


如果針對組件的功能擴展函數(shù),同樣也是很簡單。比如,你想要擴展TextBox的功能,使到它在獲取焦點時,高亮顯示;失去焦點時,則取消高亮。當然,高亮的效果可以使用CSS來實現(xiàn),因此,你可以用一個顏色的名稱作為參數(shù)進行調(diào)用。代碼如下:

  1. $.fn.hightlight = function(colorName) {  
  2.     this.mouseover(function() {  
  3.         $(this).css('background-color', colorName);   //this對是對組件自身的引用  
  4.     });  
  5.     this.mouseout(function() {  
  6.         $(this).css('background-color', '');  
  7.     });  

調(diào)用如下:

  1. $(function() {  
  2.     $('#test').hightlight('red');  
  3. });  

擴展jQuery的Json技巧

下面我們將分析在jQuery基礎(chǔ)上擴展了其處理Json字符串能力,偉大的jQuery將會更偉大用jQuery寫JavaScript非常高效,jQuery對Ajax的封裝也非常到位;使用jQuery一段時間后發(fā)現(xiàn),jQuery在處理Json字符串方面功能不是很強,至少比prototype.js差遠了。

以前用習慣了擴展Jquery的Json,在進行Ajax開發(fā)時,處理json數(shù)據(jù)非常方便;而在jQuery中,只提供了一個簡單的jQuery.getJSON()方法,并未提供jQuery本身對json數(shù)據(jù)的轉(zhuǎn)換處理,將json字符串轉(zhuǎn)換為Javascript數(shù)據(jù)對象還比較容易利用eval()函數(shù)即可,但要將Javascript的數(shù)據(jù)類型轉(zhuǎn)換成json字符串就比較難了;剛開始不得同時使用prototype.js和jQuery。擴展Jquery的Json代碼:

#p#

  1. //擴展jQuery對json字符串的轉(zhuǎn)換    
  2. jQuery.extend({     
  3.  /** * @see 將json字符串轉(zhuǎn)換為對象   
  4.      * @param json字符串   
  5.      * @return 返回object,array,string等對象 */      
  6.  evalJSON: function(strJson)   
  7. {      return eval("(" + strJson + ")");      
  8. }    
  9. }); 

 

  1. jQuery.extend({      
  2. /** * @see 將javascript數(shù)據(jù)類型轉(zhuǎn)換為json字符串   
  3. * @param 待轉(zhuǎn)換對象,支持  
  4. object,  
  5. array,string,function,number,boolean,regexp   
  6. * @return 返回json字符串 */      
  7. toJSON: function(object) {        
  8. var type = typeof object;        
  9. if ('object' == type) {          
  10. if (Array == object.constructor) type = 'array';          
  11. else if (RegExp == object.constructor)   
  12. type = 'regexp';          
  13. else type = 'object';        
  14. }        
  15. switch (type) {        
  16. case 'undefined':        
  17. case 'unknown':          
  18. return;          
  19. break;        
  20. case 'function':        
  21. case 'boolean':        
  22. case 'regexp':          
  23. return object.toString();          
  24. break;   
  25. case 'number':          
  26. return isFinite(object) ?   
  27. object.toString() : 'null';          
  28. break;        
  29. case 'string':          
  30. return '"' + object.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function()   
  31. {            
  32. var a = arguments[0];           
  33. return (a == '\n') ? '\\n': (a == '\r') ? '\\r': (a == '\t') ? '\\t': ""          
  34. }) + '"';          
  35. break;        
  36. case 'object':          
  37. if (object === null) return 'null';          
  38. var results = [];          
  39. for (var property in object) {            
  40. var value = jQuery.toJSON(object[property]);            
  41. if (value !== undefined) results.push(jQuery.toJSON(property) + ':' + value);          
  42. }          
  43. return '{' + results.join(',') + '}';          
  44. break;        
  45. case 'array':          
  46. var results = [];          
  47. for (var i = 0; i < object.length; i++) {            
  48. var value = jQuery.toJSON(object[i]);            
  49. if (value !== undefined) results.push(value);         
  50. }          
  51. return '[' + results.join(',') + ']';          
  52. break;        
  53. }      
  54. }    
  55. });  
  56. 示例:    
  57. var obj = {      
  58. name: "sean",      
  59. friend: ["fans", "bruce", "wawa"],      
  60. action: function() {      alert("gogogog")      
  61. },      
  62. boy: true,    age: 26,      
  63. reg: /\b([a-z]+) \1\b/gi,      
  64. child: {      name: "none",      age: -1    }  };   
  65.  var json = $.toJSON(obj);    
  66. var objx = $.evalJSON(json);  

【編輯推薦】

  1. 改變獲取對象方式 ***的jQuery選擇器
  2. 5種方法教你用jQuery重寫表單驗證
  3. 你應(yīng)該學(xué)習jQuery的七大理由
  4. 即刻提升jQuery性能的十個技巧
  5. 12種jQuery性能優(yōu)化方法解析
責任編輯:王曉東 來源: 豆豆網(wǎng)
相關(guān)推薦

2016-12-02 19:14:16

數(shù)據(jù)科學(xué)大數(shù)據(jù)

2009-06-26 15:56:26

2023-09-14 15:37:11

2013-09-12 16:23:44

iOS開發(fā)

2015-10-15 09:33:55

3Dtouch蘋果游戲開發(fā)

2010-08-12 09:45:33

jQuery自定義事件

2011-03-11 15:31:52

數(shù)據(jù)中心虛擬接入

2011-06-01 14:51:54

jQuery

2015-02-12 15:33:43

微信SDK

2012-07-24 15:03:19

OpenStack架構(gòu)

2015-02-12 15:38:26

微信SDK

2012-09-06 10:07:26

jQuery

2009-05-18 10:57:35

.NETString特性

2018-03-26 12:58:52

數(shù)據(jù)庫OracleMySQL

2022-07-20 15:10:38

Docker大數(shù)據(jù)平臺

2010-10-26 09:23:03

Web Service

2016-10-14 13:10:35

2009-07-01 09:41:00

無線路由器固件番茄固件

2009-10-09 14:24:27

2010-07-23 16:03:36

SQL Server存
點贊
收藏

51CTO技術(shù)棧公眾號

日本免费专区| 久久久久久久性潮| 久久久噜噜噜久久中文字幕色伊伊| 亚洲在线观看视频网站| 亚洲欧美一级| 亚洲日本中文字幕免费在线不卡| 自拍视频在线| 欧美性受xxxx黑人xyx性爽| 精品一区二区三区在线观看| 无码人妻丰满熟妇区毛片18| 中文一区在线| 亚洲自拍小视频免费观看| 国产精品一区二区99| 久久久久久久久久久免费| 成人在线视频区| 北条麻妃一区二区三区中文字幕| 国产日韩另类视频一区| 亚洲午夜精品久久久久久久久久久久| 高清在线视频不卡| 亚洲理论在线a中文字幕| 9999在线视频| 欧美成人精精品一区二区频| www久久日com| 亚洲激情视频网站| 色天使综合视频| 久久精品99国产精品酒店日本| 国产综合色激情| 日韩天堂在线视频| 亚洲综合色婷婷在线观看| 欧美极品少妇与黑人| 久操成人av| 国产精品久久亚洲| 国产日本在线观看| 一本久道综合色婷婷五月| 99re热视频这里只精品| 欧美亚洲精品一区二区| 国产欧美日韩综合| 免费黄色网页| 欧美亚一区二区| 色呦呦在线视频| 欧美激情偷拍自拍| 香港伦理在线| 亚洲成人教育av| 免费视频观看成人| 97视频在线观看免费| 色喇叭免费久久综合| 国产一区二区免费电影| 久久久xxx| 成人一级生活片| 中文字幕欧美区| 亚洲高清福利| 精品国产一区二区国模嫣然| 97人人做人人爽香蕉精品| 欧美一区二区三区免费视| 牛牛国产精品| www.18av.com| 一区二区三区日韩精品| 黄色网页在线免费看| 色视频www在线播放国产成人| 色橹橹欧美在线观看视频高清| 91久久久久久久| 国产原创一区二区三区| www.99色.com| 欧美剧情片在线观看| 欧美成人aaa| 91久久精品一区| 韩日欧美一区二区三区| 男女爱爱免费网站| 欧美福利视频导航| 午夜久久av| 精品欧美一区二区三区久久久| 成人性生交大片免费| 国产黄色高清在线| 精品女同一区二区| 免费久久久久久久久| 天天爽天天狠久久久| 国产精品美女视频| 国产精品—色呦呦| 国产v综合ⅴ日韩v欧美大片| 免费观看在线综合| 在线观看成年人视频| 亚洲男人av在线| 亚洲成人精品| caopor在线视频| 欧美福利一区二区| 成人知道污网站| 五月天色一区| 一区二区三区在线影院| 成人网ww555视频免费看| av免费观看久久| 国产精品免费丝袜| 毛片无码国产| 蜜桃成人免费视频| 欧美日韩国产激情| 午夜视频在线观看精品中文 | 青青久在线视频免费观看| 亚洲网站在线看| 99成人免费视频| 老司机很黄的视频免费| 在线成人免费网站| 久久久青草婷婷精品综合日韩| 李宗瑞系列合集久久| 污视频网站在线免费观看| 国产不卡在线观看| 成人爱爱电影网址| www.丝袜精品| 国产亚洲美州欧州综合国| 国产网站免费观看| 中文日韩在线观看| 国产精品久久久久aaaa| 成人性生交大片免费看在线播放| 亚洲v日韩v欧美v综合| 蜜桃视频在线观看一区| 久久99精品国产99久久| 在线观看不卡视频| 亚洲欧洲色图| 亚洲综合色视频在线观看| 国产精品96久久久久久| 国产精品成人网| 欧美国产三区| 99久久这里有精品| 国产精品夜夜嗨| 亚洲七七久久综合桃花剧情介绍| 成人免费网视频| 一个色在线综合| 国产成人一区| 337p日本| 18久久久久久| 国产精品久久久爽爽爽麻豆色哟哟| 欧洲av一区二区| 男女爱爱视频网站| 精品视频久久久久久久| 老司机精品视频在线| 欧美日韩国产观看视频| 欧洲成人一区二区| 亚洲国产成人在线视频| 韩国女主播成人在线| 性xxxxfreexxxxx欧美丶| 午夜午夜精品一区二区三区文| 精品粉嫩超白一线天av| 日本欧美一区二区三区| 久久一区二区视频| 国产xxxxx视频| 北条麻妃久久精品| 91免费视频网址| 视频一区日韩| 中文字幕第38页| 欧美一级淫片videoshd| 亚洲欧美激情一区二区| 嫩草影视亚洲| 在线天堂av| 亚洲xxx自由成熟| 欧美日韩色综合| 青青草成人在线观看| 欧美动物xxx| 蜜臀av午夜一区二区三区| 97在线看免费观看视频在线观看| 一区二区三区久久久| 欧美日本一区二区高清播放视频| 黄色网页在线免费看| 色婷婷777777仙踪林| 亚洲2区在线| 美女写真理伦片在线看| 有色激情视频免费在线| 欧美亚洲国产日本| 最近中文字幕日韩精品 | 亚洲美女区一区| 国产精品18久久久久久vr | 亚洲福利电影| 在线观看爽视频| 国产精品少妇在线视频| 成人av番号网| 亚洲第一页在线| 国产欧美精品国产国产专区| 91精品国产91久久综合| 国产欧美日韩精品在线观看| 欧美综合在线视频| 国产久卡久卡久卡久卡视频精品| 欧美一级三级| 在线黄色网页| 成人www视频网站免费观看| 国产a一区二区| 裸体女人亚洲精品一区| 日韩欧美精品免费在线| 成人网男人的天堂| 午夜久久免费观看| 欧美男男gaygay1069| 青青草手机在线| 国产精品jk白丝蜜臀av小说| a级大胆欧美人体大胆666| 亚洲精品mp4| 国产精品一区二区视频| 一区二区三区四区视频免费观看| 免费av在线电影| 日本韩国欧美在线观看| 成人蜜桃视频| 69av在线播放| 日韩精品视频三区| 欧美性xxxxxxx| 国产欧美日韩另类一区|