1.$(document).ready()
$(document).ready()是jQuery中回應JavaScript內建的onload事件並執行任務的典型方式。它和onload有類似的效果。但也有一些差異:
當一個文件完全下載到瀏覽器時,會觸發window.onload事件。而使用$(document).ready()註冊的事件處理程序會在html下載完成並解析為Dom樹之後,程式碼就可以運行,但並不表示所有關聯文件都已經下載完畢。
一個頁面中一般只有一個onload事件處理程序,而且只能一次儲存一個函數的參考;而$(document).ready()是可以有多個。
一般來說$(document).ready()都要優於使用onload事件處理程序。但是如果關聯檔案還沒有載入完成,則類似圖像高度、寬度的屬性的呼叫就會有問題,因此需要在不同的時候選擇合適的方法。
$(document).ready()有三種寫法,分別是:
$(document).ready(function(){ //thisis the coding... }); $().ready(function(){ //thisis the coding... }); $(function(){ //thisis the coding... });
2.事件綁定
文法
$(selector).bind(event,data,function)
參數與描述:
event:必需。規定新增到元素的一個或多個事件。由空格分隔多個事件。必須是有效的事件。
data 可選。規定傳遞到函數的額外資料。
function 必需。規定當事件發生時運行的函數。
對應的有unbind():移除事件
Eg: $(‘#idchoose').unbind(“click”,Function_Name)
簡寫綁定事件:一般比較喜歡偏向簡寫
$("#dividelement").bind("click",function(){//do something})改写为: $("#dividelement").click(function(){//do something }
jQuery透過使用.bind()方法為元素進行事件綁定,透過使用.unbind()方法為元素進行解除綁定。而且.bind()方法是可以執行多次綁定的,如果沒有綁定,在進行解除綁定的時候,這都是安全的。
很多時候某一個事件只需要觸發一次,隨後就要立即解除綁定,按照傳統的做法,我們可能會先進行事件綁定,然後在事件執行完畢後進行解除綁定。 jQuery為我們提供了一種簡寫的方法.one來專門解決上述情景下的繁瑣的程式碼編寫,範例如下:
$(document).ready(function(){ $('#swotcjer').one('click',toggleStyleSwitcher); });
附帶說下,用bind綁定事件的好處是可以定義自訂的事件,而且可以一次綁定多個事件。
3.合成事件
在進行事件擷取的時候,常常需要捕捉組合的使用者操作,並且以多個函數作為回應,這些事件我們稱為複合事件。
jQuery提供的.ready()方法就是最常用的符合事件方法之一,除此之外,還有進行交互處理的時候用到的兩個函數:
.hover(enter,leave) 模仿懸停事件(滑鼠移動到一個物件上面及移出這個物件)的方法。這是一個自訂的方法,它為頻繁使用的任務提供了一種「保持在其中」的狀態。
$(function(){ $("#panelh5.head").hover(function(){ $(this).next().show(); },function(){ $(this).next().hide(); }) })
.toggle(fn1,fn2,..fnN) 每次點擊時切換要呼叫的函數。用於模擬滑鼠連續單擊事件。例:
$(function(){ $("#panelh5.head").toggle(function(){ $(this).addClass("highlight"); $(this).next().show(); },function(){ $(this).removeClass("highlight"); $(this).next().hide(); }); })
4.事件物件與事件冒泡
事件物件:在程式中使用事件物件非常簡單,只需要為函數新增一個參數,eg:
$(“element”).click(function(event){ //event:事件对象 })
點擊「element」元素時候,事件物件就被創建了。這個物件只有事件處理函數能存取。當事件處理函數執行完畢,事件物件就被銷毀了。
事件擷取: 允許多個元素回應事件的一種策略。在事件捕獲的過程中,事件會先交給最外層的元素,接著再交給更具體的元素。 (body->div->span)
事件冒泡:另外一種相反的策略叫時間冒泡,當事件發生時,會首先發送給最具體的元素,在這個元素獲得響應機會之後,事件會向上冒泡到更一般的元素。事件冒泡有時候會產生副作用,導致始料不及的行為。 (span->div->body)
阻止事件冒泡的三種方法
透過呼叫.preventDefault()方法可以在出發預設操作之前終止事件。
呼叫event.stopPropagation()停止事件傳播
jQuery提供了一個.stopPropagation()方法,使用該方法可以完全阻止事件冒泡。
5.使用event.tatget屬性明確事件物件
事件處理程序中event保存著事件物件。而event.tatget屬性則保存著發生事件的目標元素。這個屬性是DOMAPI中規定的,但是沒有被所有瀏覽器實作。 jQuery對這個事件物件進行了必要的擴展,從而在任何瀏覽器中都能夠使用這個屬性。透過.target,可以確定DOM中首先接收到事件的元素。而且,我們知道this引用的是處理事件的DOM元素。
使用event.tatget屬性 明確事件物件阻止事件冒泡的程式碼如下:
$(document).ready(function(){ $('switcher').click(function(event){ if(event.target== this) { $('switcher.button').toggleClass('hidden'); } };) });
其他事件物件屬性可以參考w3c上的介紹。

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器