jQuery on()
在匹配元素上繫結一個或多個事件處理函式。
on()繫結事件處理函式主要利用事件冒泡,匹配元素上註冊的事件處理函式會響應子元素的事件觸發。
語法結構一:
[JavaScript] 純文字檢視 複製程式碼.on(events [, selector ] [, data ], handler(eventObject))
引數解析:
(1).events:一個或多個空格分隔的事件型別和可選的名稱空間,或僅僅是名稱空間,比如"click", "keydown.myPlugin", 或者 ".myPlugin"。
(2).selector:可選,一個選擇器字串,用於過濾出匹配元素中能觸發事件的後代元素。
(3).data:當一個事件被觸發時,要傳遞給event.data的資料。
(4).handler(eventObject):事件處理函式,引數是事件物件。
jQuery1.7版本新增。
語法結構二:
[JavaScript] 純文字檢視 複製程式碼.on(events [, selector ] [, data ])
引數解析:
(1).events:一個物件,鍵是由一個或多個由空格分隔的事件型別及可選的名稱空間,值是這些事件型別所對應的事件處理函式。
(2).selector:可選,一個選擇器字串,用於過濾出匹配元素中能觸發事件的後代元素。
(3).data:當一個事件被觸發時,要傳遞給event.data的資料。
jQuery1.7版本新增。
關於名稱空間可以參閱jQuery 名稱空間一章節。
程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #box{ width:200px; height:150px; background:#ccc; text-align:center; color:red; } #ant{ width:150px; height:100px; background:green; } </style> <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#box").on("click", function () { $("#box").text("螞蟻部落"); }) }) </script> </head> <body> <div id="box"> <div id="ant"> <input type="button" value="檢視效果"/> </div> </div> </body> </html>
將事件處理函式註冊在box元素之上,點選它的子元素利用冒泡原理則會執行事件處理函式。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #box{ width:200px; height:150px; background:#ccc; text-align:center; color:red; } #ant{ width:150px; height:100px; background:green; } </style> <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#box").on("click","input", function () { $("#box").text("螞蟻部落"); }) }) </script> </head> <body> <div id="box"> <div id="ant"> <input type="button" value="檢視效果"/> </div> </div> </body> </html>
通過第二個引數可以篩選哪些子元素可以觸發事件。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #box{ width:200px; height:150px; background:#ccc; text-align:center; color:red; } #ant{ width:150px; height:100px; background:green; } </style> <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#box").on("dblclick keydown", "input", function () { $("#box").text("螞蟻部落"); }) }) </script> </head> <body> <div id="box"> <div id="ant"> <input type="button" value="檢視效果"/> </div> </div> </body> </html>
可以一次性註冊多個事件處理函式,用空格分隔。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #box{ width:200px; height:150px; background:#ccc; text-align:center; color:red; } #ant{ width:150px; height:100px; background:green; } </style> <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <script type="text/javascript"> $(document).ready(function () { var infor = { address: "青島市南區" } $("#box").on("dblclick keydown", "input", infor, function () { $("#box").text(event.data.address); }) }) </script> </head> <body> <div id="box"> <div id="ant"> <input type="button" value="檢視效果"/> </div> </div> </body> </html>
可以給事件處理函式傳遞資料,接收者是event.data物件。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #box{ width:200px; height:150px; background:#ccc; text-align:center; color:red; } #ant{ width:150px; height:100px; background:green; } </style> <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <script type="text/javascript"> $(document).ready(function () { function done() { $("#box").text("螞蟻部落"); } $("#box").on({ "click": done }) }) </script> </head> <body> <div id="box"> <div id="ant"> <input type="button" value="檢視效果"/> </div> </div> </body> </html>
第一個引數可以是一個物件,屬性是事件型別,屬性值是事件處理函式。
相關文章
- jQuery初探:自制jQueryjQuery
- 我的’jQuery’和jQueryjQuery
- 我的''jQuery''和jQueryjQuery
- 【Jquery】jquery 基本的動畫jQuery動畫
- 【Jquery】jquery 自定義動畫jQuery動畫
- jQuery :not()jQuery
- jQuery not()jQuery
- jQuery is()jQuery
- jQuery()jQuery
- jQueryjQuery
- JQuery模板外掛-jquery.tmpljQuery
- jquery列印頁面(jquery.jqprint)jQuery
- jQuery入門(三)--- jQuery語法jQuery
- jQuery 3教程(一):jQuery介紹jQuery
- jQuery之使用jQuery.fn.prop()替換jQuery.fn.attr()jQuery
- JQuery基本知識彙總;JQuery常用方法;淺入瞭解JQueryjQuery
- (jQuery) jQuery中的事件與動畫(上)jQuery事件動畫
- jquery.fn.extend與jquery.extendjQuery
- jQuery 1.10.0 和 jQuery 2.0.1 釋出jQuery
- jQuery表單外掛jQuery.formjQueryORM
- jQuery 3教程(二):jQuery選擇器jQuery
- jQuery心得2--jQuery案例剖析1jQuery
- jQuery初探jQuery
- jQuery碎片jQuery
- JQuery動畫jQuery動畫
- 分解jQueryjQuery
- jquery的onjQuery
- jquery事件jQuery事件
- jQuery AjaxjQuery
- jQuery 事件jQuery事件
- jQuery 尺寸jQuery
- jQuery - AJAXjQuery
- jQuery htmljQueryHTML
- jQuery prependTo()jQuery
- jQuery finish()jQuery
- jQuery clone()jQuery
- jQuery detach()jQuery
- jQuery empty()jQuery