jQuery初識和常用事件(一)

文章目錄

    • 一、jQuery
    • 二、入口函數
    • 三、選擇器
          • 選擇器小結 ★
          • 全部選擇器參考 ☆
    • 四、常用的 jQuery 事件方法
          • 事件寫法
          • 鼠標事件
          • 元素事件
          • 鍵盤事件
          • 文檔/窗口事件
          • 全部事件方法參考 ☆
    • 五、效果事件
          • 顯示與隱藏:hide,show,toggle
          • 淡入和淡出:fadeIn(),fadeOut(),fadeToggle(),fadeTo()
          • 滑動:slideDown(),slideUp(),slideToggle()
          • 自定義動畫:animate()
          • 停止動畫:stop()
          • jQuery - 鏈(Chaining):在相同的元素上運行多條 jQuery 命令
          • 全部效果事件參考 ☆
    • 雜學

一、jQuery

1.jQuery是一個JavaScript函數庫(框架)。

2.jQuery是一個輕量級的"寫的少,做的多"的JavaScript庫。

3.jQuery庫包含以下功能:

  • HTML 元素選取
  • HTML 元素操作
  • CSS 操作
  • HTML 事件函數
  • JavaScript 特效和動畫
  • HTML DOM 遍歷和修改
  • AJAX
  • Utilities
    提示: 除此之外,Jquery還提供了大量的插件。

4.jQuery是目前最流行的js框架,而且提供了大量的擴展。
5.jQuery 擁有可操作 HTML 元素和屬性的強大方法,就是操作 DOM 的能力。
6. ‘$’ 是 jQuery 的簡稱,可以使用 $,也可以使用 jQuery

二、入口函數

jQuery 入口函數:
在 html 所有標簽(DOM)都加載之后,就會去執行。

$(document).ready(function(){// 執行代碼
});
或者
$(function(){// 執行代碼
});

JavaScript 入口函數:
等到所有內容,包括外部圖片之類的文件加載完后,才會執行。

window.onload = function () {// 執行代碼
}

三、選擇器

  • jQuery 中所有選擇器都以美元符號開頭:$()
  • jQuery 選擇器基于元素的 id、類、類型、屬性、屬性值等"查找"(或選擇)HTML 元素
  • 元素選擇器:$(“p”)
  • id選擇器:$("#test")
  • 類選擇器:$(".test")
  • 進階選擇:
    $("*") 選取所有元素
    $(this) 選取當前 HTML 元素
    $(“p.intro”) 選取 class 為 intro 的 p 元素
    $(“p:first”) 選取第一個 p 元素
    $(“ul li:first”) 選取第一個 ul 元素的第一個 li 元素
    $(“ul li:first-child”) 選取每個 ul 元素的第一個 li 元素
    $("[href]") 選取帶有 href 屬性的元素
    $(“a[target=’_blank’]”) 選取所有 target 屬性值等于 “_blank” 的 a 元素
    $(“a[target!=’_blank’]”) 選取所有 target 屬性值不等于 “_blank” 的 a 元素
    $(":button") 選取所有 type=“button” 的 input 元素 和 button 元素
    $(“tr:even”) 選取偶數位置的 tr 元素
    $(“tr:odd”) 選取奇數位置的 tr 元素
選擇器小結 ★
1.基本選擇器
$("#id")            // ID選擇器
$("div")            // 元素選擇器
$(".classname")     // 類選擇器
$(".classname,.classname1,#id1")     // 組合選擇器2.層次選擇器
$("#id>.classname ")    // 子元素選擇器
$("#id .classname ")    // 后代元素選擇器
$("#id + .classname ")    // 緊鄰下一個元素選擇器
$("#id ~ .classname ")    // 兄弟元素選擇器3.過濾選擇器(重點)
$("li:first")    // 第一個li
$("li:last")     // 最后一個li
$("li:even")     // 挑選下標為偶數的li
$("li:odd")      // 挑選下標為奇數的li
$("li:eq(4)")    // 下標等于 4 的li(第五個 li 元素)
$("li:gt(2)")    // 下標大于 2 的li
$("li:lt(2)")    // 下標小于 2 的li
$("li:not(#runoob)") // 挑選除 id="runoob" 以外的所有li3.2內容過濾選擇器
$("div:contains('Runob')")    // 包含 Runob文本的元素
$("td:empty")                 // 不包含子元素或者文本的空元素
$("div:has(selector)")        // 含有選擇器所匹配的元素
$("td:parent")                // 含有子元素或者文本的元素3.3可見性過濾選擇器
$("li:hidden")       // 匹配所有不可見元素,或type為hidden的元素
$("li:visible")      // 匹配所有可見元素3.4屬性過濾選擇器
$("div[id]")       		  // 所有含有 id 屬性的 div 元素
$("div[id='123']")        // id屬性值為123的div 元素
$("div[id!='123']")       // id屬性值不等于123的div 元素
$("div[id^='qq']")        // id屬性值以qq開頭的div 元素
$("div[id$='zz']")        // id屬性值以zz結尾的div 元素
$("div[id*='bb']")        // id屬性值包含bb的div 元素
$("input[id][name$='man']") //多屬性選過濾,同時滿足兩個屬性的條件的元素3.5狀態過濾選擇器
$("input:enabled")    // 匹配可用的 input
$("input:disabled")   // 匹配不可用的 input
$("input:checked")    // 匹配選中的 input
$("option:selected")  // 匹配選中的 option4.表單選擇器
$(":input")      //匹配所有 input, textarea, select 和 button 元素
$(":text")       //所有的單行文本框,$(":text") 等價于$("[type=text]"),推薦使用$("input:text")效率更高,下同
$(":password")   //所有密碼框
$(":radio")      //所有單選按鈕
$(":checkbox")   //所有復選框
$(":submit")     //所有提交按鈕
$(":reset")      //所有重置按鈕
$(":button")     //所有button按鈕
$(":file")       //所有文件域
全部選擇器參考 ☆

菜鳥教程 - 選擇器

四、常用的 jQuery 事件方法

事件寫法
$('selector').func(arg1,arg2,...);
// selector:某個元素
// func:事件函數
// arg1:參數,一般是事件函數的配置參數,和回調函數

eg:jQuery使用事件 —— 點擊元素后隱藏該元素:

$("p").click(function(){$(this).hide();
});
  • $(document).ready(),等價 $() —— html 所有標簽(DOM)都加載之后執行

  • 獲取事件對象,里面包含各種有用的信息:

    $(document).ready(function(){$(window).keypress(function(event){    //獲取事件對象,里面包含各種有用的信息。console.log(event);//console.log(event.which);});
    });
    
鼠標事件
  • click() —— 單機元素
  • dblclick() —— 雙擊元素
  • mouseenter() —— 當鼠標指針穿過元素時,會發生 mouseenter 事件。
  • mouseleave() —— 當鼠標指針離開元素時,會發生 mouseleave 事件
  • mousedown() —— 當鼠標指針移動到元素上方,并按下鼠標按鍵時,會發生 mousedown 事件
  • mouseup() —— 當在元素上松開鼠標按鈕時,會發生 mouseup 事件
  • hover() ——光標懸停事件
元素事件
  • focus() —— 元素(表單)獲取焦點
  • blur() —— 元素(表單)失去焦點
  • change() —— 當元素的值改變時發生 change 事件(僅適用于表單字段)
  • submit() —— 當提交表單時,會發生 submit 事件。該事件只適用于 form 元素。
鍵盤事件
  • keydown() —— 在鍵盤上按下某鍵時發生,一直按著則會不斷觸發(opera瀏覽器除外), 它返回的是鍵盤代碼;

  • .keyup() —— 用戶松開某一個按鍵時觸發, 與keydown相對, 返回鍵盤代碼

  • .keypress() —— 在鍵盤上按下一個按鍵,并產生一個字符時發生, 返回ASCII碼。注意: shift、alt、ctrl等鍵按下并不會產生字符,所以監聽無效 ,換句話說, 只有按下能在屏幕上輸出字符的按鍵時keypress事件才會觸發。若一直按著某按鍵則會不斷觸發。

    拓: keypress事件獲取鍵入字符

    $(window).keypress(function(event){//event.which是獲取ASCII碼,前面的函數是將ASCII碼轉換成字符,空格鍵和Enter鍵輸出均為空白。console.log(String.fromCharCode(event.which));//從event對象中key屬性獲取字符,但是Enter鍵的key值為"Enter",空白鍵還是空白" "。console.log(event.key);
    });
    
文檔/窗口事件
  • load() —— 當指定的元素已加載時,會發生 load 事件。該方法在 jQuery 版本 1.8 中已廢棄
  • resize() —— 當調整瀏覽器窗口大小時,發生 resize 事件。
  • scroll() —— 當用戶滾動指定的元素時,會發生 scroll 事件。
  • unload() —— Firefox 與 Chrome 會阻止彈窗,所以沒辦法看到效果。
    當用戶離開頁面時,會發生 unload 事件。
    當發生以下情況下,會觸發 unload 事件:
    點擊某個離開頁面的鏈接
    在地址欄中鍵入了新的 URL
    使用前進或后退按鈕
    關閉瀏覽器窗口
    重新加載頁面

    unload() 方法規定當 unload 事件發生時會發生什么。
    unload() 方法只應用于 window 對象。
    注意:unload 事件在不同瀏覽器中效果不一樣,請確保使用前在所有瀏覽器測試該方法。unload() 方法在 jQuery 版本 1.8 中被廢棄,在 3.0 版本被移除。
全部事件方法參考 ☆

菜鳥教程 - 事件方法

五、效果事件

全部效果事件參考 ☆

菜鳥教程 - 效果事件


雜學

1.jQuery維護: 如果網站包含許多頁面,并且你希望你的 jQuery 函數易于維護,那么要把 jQuery 函數放到獨立的 .js 文件中,通過src導入即可。
2.事件: 頁面對不同訪問者的響應叫做事件,jQuery 是為事件處理特別設計的。
3.事件處理: 程序指的是當 HTML 中發生某些事件時所調用的方法。
4. jQuery 動態生成元素: 對于由 jQuery 動態生成的元素,不能直接綁定常用的事件,如 click等。
eg:

$(".box ").click(function(){});

這樣雖然產生了類box,但仍然沒有點擊事件,解決方案:

$(".box ").live('click', function(){});	// 不建議
// 或者:
$(".box ").on('click', function(){});	
// 另外 click, blur, keyup, change等方法,都可以這樣解決。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/278738.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/278738.shtml
英文地址,請注明出處:http://en.pswp.cn/news/278738.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nginx內嵌變量

FORWARD:http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_core_module.html#variables ngx_http_core_module模塊支持內嵌變量,變量名與Apache服務器對應。 首先,這些變量可以表示客戶端的請求頭字段,諸如$http_user_agent、$ht…

pdf文檔遇到了共享沖突_如何將鏈接共享為PDF格式的Google文檔鏈接

pdf文檔遇到了共享沖突Using Google Docs is a great way to collaborate on and share documents. Sometimes, though, you want to provide somebody with a PDF instead of an editable document. Google Docs now lets you edit your sharing link to provide a PDF. Best …

Visual Studio 2019 preview中體驗C# 8.0新語法

準備工作: Visual Studio 2019 Preview版本中并沒有包含所有的C# 8.0的新功能,但目前也有一些可以試用了。在開始之前,需要進行入兩項設置: 將Framework設置為.net core 3.0 將C#語法設置為8.0 也可以直接編輯.csproj文件&#x…

jQuery 對HTML的操作(二)

文章目錄一、jQuery獲取、設置HTML標簽的內容和屬性獲得內容 - text()、html() 以及 val()獲取屬性 - attr(),prop()二、增刪 HTML 的內容增加刪除三、操作CSSaddClass 添加removeClass 刪除toggleClass 切換css 獲取與設置所有操作html、css方法參考 ☆四、操作元素…

roku能不能安裝軟件_如何在Roku中使用Google Assistant

roku能不能安裝軟件As more of our devices connect to each other, it’s always nice to know that different products from different companies work together. A Chromecast isn’t expensive, but being able to use your TV directly with Google Assistant is better.…

在線建立或重做mysql主從復制架構方法(傳統模式和GTID模式)【轉】

mysql主從復制架構,是mysql數據庫主要特色之一,絕大多數公司都有用到。 而GTID模式是基于事務的復制模式的意思,發展到現在也是越來越多人用。 以前很多文章,介紹搭建mysql主從復制架構,是需要停止應用服務來做的,對于生產環境&am…

面試學習資料

1 Java面試資料總結 (github推薦指數高) 2 后端架構師 1. 綜合 《Java 面試題 —— 老梁 Java 面試通關要點匯總集》《Java 面試題 —— 老徐 Java 初中級準備的面試題》《Java 面試題 —— 零度 Java 面試題系列》《Java 面試題 —— 東黃的學習方法和面…

jQuery對Ajax的封裝應用(三)

文章目錄一、Ajax二、load三、ajax(參數),get,set$.ajax$.ajax的get、post簡寫形式四、ajax全部方法參考 ☆一、Ajax AJAX 是與服務器交換數據的技術,它在不重載全部頁面的情況下,實現了對部分網頁的更新。…

如何使用卡巴斯基急救盤清理感染的PC

When you’re dealing with a PC that is completely infected in viruses, sometimes the best thing to do is reboot into a rescue disk and run a full virus scan from there. Here’s how to use the Kaspersky Rescue Disk to clean an infected PC. 當您要處理一臺完全…

2018.12.08 codeforces 946D. Timetable(背包)

傳送門 題意簡述:有一個人上n天課,每天有m個小時的時間安排表(一個01串),為1表示要上課,否則不上課,求出如果可以最多翹kkk節課這nnn天在校待的總時間的最小值(一天必須在所有課上完…

jQuery雜項進階(四)

文章目錄一、$ 的替換二、使用JSONP實現跨域三、jQuery 雜項方法、實用工具、回調對象、延遲對象參考 ☆四、jQuery 自身屬性參考 ☆五、jQuery 插件介紹和參考 ☆jQuery 樹型菜單插件(Treeview)jQuery Validate表單驗證,jQuery Password Validation(密碼…

什么是WLIDSVC.EXE和WLIDSVCM.EXE,它們為什么運行?

You’re no doubt reading this article because you’re wondering what those two processes are doing cluttering up Task Manager, and also wondering why they are in capital letters. You’ve come to the right place. 毫無疑問,您閱讀本文是因為您想知道…

[USACO10DEC] Treasure Chest

題目鏈接 90 Points:智障的區間 DP……設 dp[i][j] 表示區間 [i, j] 能取的最大價值,但我還是 sd 地開了第三維表示先取還是后取的價值。 交上去以為能 A,結果 #2 開心地 MLE……一看內存,64MB(把評測機吊起來打一頓&a…

工程化,模塊化,組件化,規范化

前端講究 工程化,模塊化,組件化,層層遞進。 一、工程化 工程化是整個工程的結構、樣式和動作分離,工程化是一種思想而不是某種技術(當然為了實現工程化我們會用一些技術)。各種規范、技術選型、項目構建優…

linux壓縮和解壓縮_Linux QuickTip:一步下載和解壓縮

linux壓縮和解壓縮Most of the time, when I download something it’s a file archive of some kind – usually a tarball or a zip file. This could be some source code for an app that isn’t included in Gentoo’s Portage tree, some documentation for an internal …

Spark架構與作業執行流程簡介

2019獨角獸企業重金招聘Python工程師標準>>> Spark架構與作業執行流程簡介 博客分類: spark Local模式 運行Spark最簡單的方法是通過Local模式(即偽分布式模式)。 運行命令為:./bin/run-example org.apache.spark.exam…

Spring boot整合Mongodb

最近的項目用了Mongodb,網上的用法大多都是七零八落的沒有一個統一性,自己大概整理了下,項目中的相關配置就不敘述了,由于spring boot的快捷開發方式,所以spring boot項目中要使用Mongodb,只需要添加依賴和…

nodejs和Vue和Idea

文章目錄Vue環境搭建Idea安裝Idea中配置Vue環境Node.js介紹npm介紹Vue.js介紹[^3]Idea介紹Vue環境搭建 概述:vue環境搭建:需要npm(cnpm),而npm內嵌于Node.js,所以需要下載Node.js。 下載Node.js&#xff1…

Spring MVC上下文父子容器

2019獨角獸企業重金招聘Python工程師標準>>> Spring MVC上下文父子容器 博客分類: java spring 在Spring MVC的啟動依賴Spring框架,有時候我們在啟動Spring MVC環境的時候,如果配置不當的話會造成一些不可預知的結果。下面主要介紹…

12.7 Test

目錄 2018.12.7 TestA 序列sequence(迭代加深搜索)B 轟炸bomb(Tarjan DP)C 字符串string(AC自動機 狀壓DP)考試代碼AC2018.12.7 Test題目為2018.1.4雅禮集訓。 時間:4.5h期望得分:010010實際得分:010010 A 序列sequence(迭代加深搜索) 顯然可…