課程
/前端開發
/jQuery
/jQuery基礎(三)—事件篇
<div?class="left"> ????<p?class="aaron"> ????????<a>目標節點</a>?//點擊在這個元素上 ????</p> </div>
2016-10-12
源自:jQuery基礎(三)—事件篇 5-2
正在回答
我也是初學者,下面是我的理解
<!DOCTYPE?html> <html> <head> ????<meta?http-equiv="Content-type"?content="text/html;?charset=utf-8"?/> ????<title></title> ????<style> ????.left?div, ????.right?div?{ ????????width:?500px; ????????height:?50px; ????????padding:?5px; ????????margin:?5px; ????????float:?left; ????????border:?1px?solid?#ccc; ????} ???? ????.left?div?{ ????????background:?#bbffaa; ????} ???? ????.right?div?{ ????????background:?yellow; ????} ????</style> ????<script?src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> ????<h2>on事件委托</h2> ????<div?class="left"> ????????<div?class="aaron"> ????????????<a>點擊這里</a> ????????????<p>試下點擊這里</p> ????????</div> ????</div>???? ????<script?type="text/javascript"> ????//給body綁定一個click事件 ????//沒有直接a元素綁定點擊事件 ????//通過委托機制,點擊a元素的時候,事件觸發 ????//$('body').on('click',?function(e)?) ????$('body').on('click','a',?function(e)?{ ???????alert(e.target.textContent) ????}) ????</script> </body> </html>
你可以試著運行上面的代碼,觀察$('body').on('click','a', function(e) )和$('body').on('click', function(e) )的運行結果的不同。你會發現$('body').on('click','a', function(e) )情況下,只有點擊<a>才會觸發click事件,而在$('body').on('click', function(e) )情況下點擊頁面內的任何元素都可以促發click事件。認真理解老師給$('body').on('click','a', function(e) )的三句注釋:
//給body綁定一個click事件
//沒有直接a元素綁定點擊事件
?//通過委托機制,點擊a元素的時候,事件觸發
我們給body綁定的click事件,為什么只有在點擊<a>元素的時候才會觸發click事件呢?因為我們把click事件委托了<a>.
能理解嗎
碼農吊車尾 提問者
其實事件委托的關鍵就是on里面的選擇器參數,它決定了事件發生的范圍!
大神,能解答一下:瀏覽器的默認行為有哪些?有哪些事件可以觸發瀏覽器的默認行為?
$("div").on("click","p",fn) 哪位老師能解釋一下,這句話的意思,事件委托的機制的詳細順序是什么?
qq_蘇慕遮_24019744
并不是截停,而是委托,依舊向上傳遞,只是后面的函數的參數委托給了a,即以a為參數。不過還是會向上傳遞的。
ghgytr3603800
舉報
jQuery第三階段開啟事件修煉,掌握對頁面進行交互的操作
3 回答冒泡事件是怎么個冒泡法
2 回答關于事件冒泡問題,this不事件冒泡,e.target會事件冒泡???
1 回答js和jq事件冒泡與事件捕獲的一些區別,誰能梳理下,我搞暈了。
2 回答mouserover和mouseenter事件和冒泡事件
1 回答7-2 為什么要給$("a")也添加trigger事件?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-16
我也是初學者,下面是我的理解
你可以試著運行上面的代碼,觀察$('body').on('click','a', function(e) )和$('body').on('click', function(e) )的運行結果的不同。你會發現$('body').on('click','a', function(e) )情況下,只有點擊<a>才會觸發click事件,而在$('body').on('click', function(e) )情況下點擊頁面內的任何元素都可以促發click事件。認真理解老師給$('body').on('click','a', function(e) )的三句注釋:
//給body綁定一個click事件
//沒有直接a元素綁定點擊事件
?//通過委托機制,點擊a元素的時候,事件觸發
我們給body綁定的click事件,為什么只有在點擊<a>元素的時候才會觸發click事件呢?因為我們把click事件委托了<a>.
能理解嗎
2017-12-05
其實事件委托的關鍵就是on里面的選擇器參數,它決定了事件發生的范圍!
2016-11-13
大神,能解答一下:瀏覽器的默認行為有哪些?有哪些事件可以觸發瀏覽器的默認行為?
2016-10-12
2016-10-12
并不是截停,而是委托,依舊向上傳遞,只是后面的函數的參數委托給了a,即以a為參數。不過還是會向上傳遞的。