jquery复习
<?php
?? ?/*
?? ?jquery復習:
?? ?通常開發(fā)人員習慣把id,src,alt叫做這個元素的屬性,我們稱之為"元素屬性",但是在解析成DOM對象的時候,實際瀏覽器最后會將標簽元素解析為"DOM對象",并且將元素的"元素屬性"存儲為"DOM屬性",兩者是有區(qū)別的.
?? ?<script>
?? ??? ?var cao=null;
setTimeout(function(){
?? ?handleClick=function(){
?? ??? ?alert("草你媽");
?? ?}
},10000)
?? ?</script>
?? ?javascript制定事件處理程序的傳統(tǒng)方式,就是將一個函數(shù)值賦給一個事件處理程序?qū)傩?這種方法至今仍然為現(xiàn)代瀏覽器所支持.一是因為簡單,二是因為掛瀏覽器.每個元素(window)和docuemnt都有自己的事件處理程序,因為這些屬性全部小寫.
?? ?可以在事件處理過過程中通過訪問this訪問元素的任何屬性和方法,以這種方式添加的事件處理程序都在事件流的冒泡階段被處理.
?? ?當然只要像下面這樣將事件處理程序?qū)傩栽O(shè)置為null,即可刪除通過DOMO級方法指定的時間處理程序:
?? ?bn3.οnclick=null;
?? ?我們設(shè)置了元素的src是相對路徑:images/image.1..jpg
?? ?jquery.each(obj,callback)
?? ?通用遍歷方法,可用于遍歷對象和數(shù)組
?? ?不同于遍歷jquery對象的$().each()方法,此方法可用于遍歷任何對象.
?? ?回調(diào)函數(shù)擁有兩個參數(shù):第一個對象的成員或數(shù)組的索引,第二個為對應(yīng)變量或內(nèi)容.
?? ?----------------------------------------------------------------------------------------------------------------------------------------------------------
?? ?通過ajax原理來實現(xiàn)
?? ?1.$.ajax()傳遞
?? ?jquery.ajax(options)
?? ?通過HTTP請求加載遠程數(shù)據(jù).
?? ?jquery底層AJAX實現(xiàn).簡單容易用的高層見$.get/$.post等.
?? ?$.ajax()返回其創(chuàng)建的XMLHttpRequest對象.大多數(shù)情況下你無需直接操作該對象.但特殊情況下可用于手動終止請求.
?? ?$.ajax()只有一個參數(shù):參數(shù)key/value對象,包含各配置以及回調(diào)函數(shù).
?? ?----------------------------------------------------------------------------------------------------------------------------------------------------------
?? ?jquery提供了幾個用于發(fā)送ajax請求的函數(shù),其中最核心也是最復雜的是jquery.ajax(options),所有其他的ajax函數(shù)都是它的一個簡化調(diào)用.當我們完全控制ajax的時候可以使用此結(jié)果.否則還是使用簡化方法如get,post,load等更加方便,所以jquery.ajax(options)方法放到最后一個介紹.
?? ?load(url,[data],[callback])
?? ?說明:
?? ?load方法能夠載入遠程的HMTL文件代碼并插入DOM中
?? ?默認使用get方法,如果傳遞了data參數(shù),則使用post方法
?? ?-傳遞附加參數(shù)自動轉(zhuǎn)為post方式,jquery1.2中,可以指定選擇符,來篩選載入的HTML文檔,DOM中將僅插入篩選出的HTML代碼.語法如"url#some >selector",默認的選擇器是"body">*
?? ?
?? ?講解:
?? ?load是最簡單的ajax函數(shù),但是使用具有局限性:
?? ?a.主要用于直接返回HTML的ajax接口
?? ?b.load是一個jquery包裝集的方法,需要jquery包裝集上調(diào)用,并且會返回的HTML加載到對象中,即使是設(shè)置了回調(diào)函數(shù)也還是會加載.不過不可否認load接口設(shè)計巧妙并且使用簡單.
?? ?jquery.get(url,[data],[callback],[type])
?? ?returns:XMLHttpRequest
?? ?說明:
?? ?通過遠程HTTP GET請求載入信息
?? ?這是一個簡單的GET請求功能取代復雜的$.ajax.請求成功的時候可調(diào)用回調(diào)函數(shù).如果需要在出錯的時候執(zhí)行函數(shù),請使用$.ajax.
?? ?次函數(shù)發(fā)送Get請求,參數(shù)可以直接在url中拼接.比如
?? ?$.get("../data/ajaxGetmethod.aspx");
?? ?或者是在
?? ?$.get("../data/1.php",{"name":"sinhapo"});
?? ?兩種方式效果相同,data參數(shù)會自動的添加到url中
?? ?如果url中的某個參數(shù),又通過data傳遞參數(shù),不會自動合并相同名稱的參數(shù).
?? ?回調(diào)參數(shù)的簽名為:
?? ?function (data,textStatus){
?? ??? ?//data could be xmlDoc,jsonObj,html,text,etc....
?? ??? ?this;//the option for this ajax request
?? ?}
?? ?其中data是返回的數(shù)據(jù),testStatus表示狀態(tài)碼,可能是如下值
?? ?'timeout','error','notmodified','success','parsererror'
?? ?在回調(diào)函數(shù)中的this是獲取options對象的引用
?? ?
?? ?type參數(shù)是指的是data的數(shù)據(jù)的類型:
?? ?'xml','html','script','json','jsonp','text'
?? ?默認為"html"
?? ?jquery.getJSON(url,[data],[callback])方法就相當于jquery.get(url,[data],[callback],"json")
?? ?jquery.get(url,[data],[callback],[type])
?? ?Returns:XMLHttpRequest
?? ?通過遠程HTTP GET請求載入信息
?? ?一個簡單的GET請求以取代復雜的$.ajax,請求成功的時候可調(diào)用回調(diào)函數(shù),如果需要在出錯的時候執(zhí)行函數(shù),請使用$.ajax.
?? ?jquery.getJSON(url,[data],[callback])
?? ?Returns:XMLHttpRequest
?? ?相當于:jquery.get(url,[data],[callback],"json")
?? ?$.getJSON("../data/AjaxGetCityInfo.asp",{"resultType":"json"})
?? ?function(data,textStatus){
?? ?
?? ??? ?alert(data.length);
?? ??? ?alert(data[0].CityName);
?? ?}
?? ?使用data.length可以獲取數(shù)組的元素個數(shù),data[0]訪問第一個元素,data[0].CityName訪問第一個元素的CityName屬性
?? ?jquery.getScript(url,[callback])
?? ?Returns:XMLHttpRequest
?? ?相當于:jQuery.get(url,null,[callback],"script")
?? ?說明:
?? ?通過HTTP GET請求載入并執(zhí)行一個Javascript文件.
?? ?jQuery1.2版本之前,getScript只能調(diào)用同域JS文件.
?? ?jquery.post(url,[data],[callback],[type])
?? ?Returns :XMLHttpRequest
?? ?說明:
?? ?通過遠程HTTP POST要求載入信息
?? ?這是一個簡單的POST請求功能以取代復雜的$.ajax.請求成功的時候可調(diào)用回調(diào)函數(shù).如果需要在出錯的時候執(zhí)行執(zhí)行函數(shù),請使用$.ajax.
?? ?講解:
?? ?具體用法和get相同,只是提交方式由"GET"更改為"POST"
?? ?jquery.ajax(options)
?? ?returns:XMLHttpRequset
?? ?說明:
?? ?通過HTTP請求加載遠程數(shù)據(jù)
?? ?jquery底層ajax實現(xiàn),簡單易用的高層見$.get,$.post等.
?? ?$.ajax()返回其創(chuàng)建的XMLHttpRequest對象,大部分情況下你無需直接操作該對象,但是特殊情況下可用于手動終止請求.
?? ?$.ajax()只有一個參數(shù):參數(shù)key/value對象,包含各個配置以及回調(diào)函數(shù)信息.詳細選項見下
?? ?如果你指定了dataType選項,請確保服務(wù)器返回正確的MIME信息,(如xml返回"text/html")錯誤的MIME類型可能導致不可預知的錯誤.
?? ?如果dataType設(shè)置為script,那么所有的遠程(不在同一域名下)的POST請求都將化為GET請求(因為使用DOM的SCRIPT來加載).jquery1.2中,您可以跨域加載JSON數(shù)據(jù),使用的時候?qū)?shù)據(jù)設(shè)置為JSONP.使用JSONP形式調(diào)用函數(shù)時,如"myurl?callback=?"jQuery將自動替換?為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù).數(shù)據(jù)類型設(shè)置為JSONP,jquery會自動調(diào)用回調(diào)函數(shù).
?? ?Ajax相關(guān)函數(shù).
?? ?1.jquery提供了一些函數(shù)來輔助ajax函數(shù)
?? ?無返回值
?? ?設(shè)置:全局的ajax默認options選項.
?? ?
?? ?
轉(zhuǎn)載于:https://www.cnblogs.com/sgsheg/archive/2012/09/22/2698320.html
總結(jié)
- 上一篇: 迷你世界竹楼别墅教程
- 下一篇: Bottle 框架中的装饰器类和描述符应