阻止事件冒泡和禁用默認(rèn)事件

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<table border="1">

<tr>

<td><span>冒泡事件測試1</span></td>

<td><span>冒泡事件測試2</span></td>

</tr>

</table>

</body>

<a >測試</a>

<script src="./js/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>

<!--

1.<script src="script.js"></script>

沒有 defer 或 async,瀏覽器會(huì)立即加載并執(zhí)行指定的腳本,“立即”指的是在渲染該 script 標(biāo)簽之下的文檔元素之前,也就是說不等待后續(xù)載入的文檔元素,讀到就加載并執(zhí)行。

2.<script async src="script.js"></script>

有 async,加載和渲染后續(xù)文檔元素的過程將和 script.js 的加載與執(zhí)行并行進(jìn)行(異步)。

3.<script defer src="myscript.js"></script>

有 defer,加載后續(xù)文檔元素的過程將和 script.js 的加載并行進(jìn)行(異步),但是 script.js 的執(zhí)行要在所有元素解析完成之后,DOMContentLoaded 事件觸發(fā)之前完成。

-->

<script type="text/javascript" charset="utf-8">

// $('table').on('click',function(e){

// alert('table alert!');

// });

// $('tr').on('click',function(e){

// alert('tr alert');

// });

//? ? $('span').on('click',function(e){

//? ? alert('span alert');

//? ? });

? ? // span alert -> td alert -> table alert。這就叫事件冒泡。就是從下到上,從里到外,事件依次觸發(fā)。

? ? $(function(){

? ? return false? //return false等效于同時(shí)調(diào)用e.preventDefault()和e.stopPropagation(),從源碼中可以看到該功能的實(shí)現(xiàn)。

$('table').on('click','span',function(e){? ??

//個(gè)人理解是禁止該元素的子元素到該元素的事件冒泡。

? ? alert('span alert');

? ? e.stopPropagation();

? ? });

? ? $('tr').on('click','span',function(e){

? ? alert('span alert');

? ? e.stopPropagation();

? ? });

? ? $('table').on('click',function(){

? ? alert('table alert!')

? ? });

? ? $('tr').on('click',function(){

? ? alert('table alert!')

? ? });

? ? })

? ? // 點(diǎn)擊span時(shí),彈出"span alert!"對(duì)話框即結(jié)束,然后禁止事件冒泡,“table alert!”對(duì)話框即不會(huì)觸發(fā)。

? ? $("a").click(function (e) {

? ? alert("默認(rèn)行為被禁止嘍");

? ? return false

? ? // e.preventDefault();? //阻止默認(rèn)事件,就是停止元素原本的功能

});

</script>

</html>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級(jí)和職位的變化,入門級(jí)到專家級(jí),廣度和深度都會(huì)有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,687評(píng)論 0 7
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,144評(píng)論 0 2
  • 一:認(rèn)識(shí)jquery jquery是javascript的類庫,具有輕量級(jí),完善的文檔,豐富的插件支持,完善的Aj...
    xuguibin閱讀 1,766評(píng)論 1 7
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,874評(píng)論 0 3
  • 本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題以及自己面試過程中遇到的一些問題,并且都給出了我在網(wǎng)上收集的答案。馬上就...
    菲菲菲菲妞閱讀 1,006評(píng)論 0 3

友情鏈接更多精彩內(nèi)容