日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

有時(shí),我們需要在嵌套的 HTML 元素上添加相同的事件。例如,我們有兩個(gè)div,一個(gè)是父div,另一個(gè)是子div。現(xiàn)在,我們需要在父div和子div上添加onclick事件,并在用戶點(diǎn)擊父div和子div時(shí)執(zhí)行不同的功能。在這種情況下,它將始終在父 div 和子 div 上執(zhí)行事件。

讓我們通過下面的示例了解如何在嵌套 HTML 元素上執(zhí)行相同的事件。

示例

在下面的示例中,我們創(chuàng)建了兩個(gè) div。我們?yōu)橥獠?div 指定了“parent-div”類名稱,為內(nèi)部 div 指定了“child-div”類名稱。

此外,我們還添加了 onclick 事件,在兩個(gè) div 元素上執(zhí)行不同的功能。當(dāng)用戶點(diǎn)擊內(nèi)部div時(shí),父div中也會(huì)觸發(fā)點(diǎn)擊事件。

<html>
<head>
   <style>
      .parent-div {
         width: 300px;
         height: 150px;
         margin: 50px;
         padding: 10px;
         background-color: lightblue;
      }
      .child-div {
         width: 100px;
         height: 70px;
         margin: 30px; 
         padding: 10px;
         background-color: lightgreen;
      }
   </style>
</head>
<body>
   <h3>Adding the same events <i> to nested HTML elements </i> in JavaScript</h3>
   <p>Click on the below parent & child DIVs to see the result</p>
   <div class = "parent-div" onclick = "executeParent()"> Parent DIV
      <div class = "child-div" onclick = "executeChild()"> Child DIV </div>
   </div>
   <div id="content"> </div>
   <script>
      let content = document.getElementById("content");
      function executeParent() {
         content.innerHTML += "Parent div clicked <br>";
      }
      function executeChild() {
         content.innerHTML += "Child div clicked <br>";
      }
   </script>
</body>
</html>

登錄后復(fù)制

我們需要使用事件來解決上述問題,比如點(diǎn)擊子div,調(diào)用父div的click事件.stopPropogation()方法。

語法

用戶可以按照下面的語法使用 stopPropgation() 方法來停止向父元素傳播事件。

Event.stopPropogation(); 

登錄后復(fù)制

示例

在下面的示例中,我們?cè)?HTML

標(biāo)記內(nèi)添加了一些文本,并在執(zhí)行executeP() 函數(shù)的 onclick 事件中添加了一些文本。此外,我們?cè)?

標(biāo)簽內(nèi)添加了一個(gè) 標(biāo)簽,并在執(zhí)行executeSpan() 函數(shù)的span 標(biāo)簽上添加了“onclick”事件。

此外,我們還使用了 event.stoPropogation() 方法和 元素的 onclick 事件,以在用戶單擊 時(shí)停止在

標(biāo)記上傳播事件。

在輸出中,用戶可以觀察到當(dāng)他們單擊元素的文本時(shí),它只執(zhí)行executeSpan()函數(shù)。

<html>
<body>
   <h3>Adding the same events <i> to nested HTML elements and using the event.stopPropogation() method </i> in JavaScript </h3> 
   <p style = "cursor: pointer;" onclick="executeP()"> Hello users! How are you? <span Onclick = "event.stopPropagation(); executeSpan();"> Child Span </span> </p>
   <div id = "content"> </div>
   <script>
      let content = document.getElementById("content");
      function executeP() {
         content.innerHTML += "Clicked on the p element. <br>";
      }
      function executeSpan() {
         content.innerHTML += "Clicked on the Span element! <br>";
      }
   </script>
</body>
</html> 

登錄后復(fù)制

示例

在下面的示例中,我們使用 HTML 標(biāo)記創(chuàng)建了三個(gè)嵌套元素的層次結(jié)構(gòu)。我們?cè)诿總€(gè)元素上添加了 onclick 事件。如果我們不使用event.stopPropogation()方法,它總是執(zhí)行firstDivClick()函數(shù)。

為了解決這個(gè)問題,我們?cè)谡{(diào)用它們時(shí)將事件作為函數(shù)的參數(shù)傳遞,并在函數(shù)內(nèi)使用 stopPropogation() 方法。

用戶可以觀察到,當(dāng)他們單擊“菜單”文本時(shí),它僅執(zhí)行 kebabMenuClick() 函數(shù)。當(dāng)用戶單擊第二個(gè) div 時(shí),它僅執(zhí)行 secondaryDivClick() 函數(shù)。

<html>
<head>
   <style>
      .card-1 {
         width: 300px;
         height: 200px;
         background-color: red;
         cursor: pointer;
      }
      .card-2 {
         width: 200px;
         height: 150px;
         background-color: blue;
         cursor: pointer;
      }
      .kebab-menu {
         font-size: 1.2rem;
         color: white;
         cursor: pointer;
      }
   </style>
</head>
<body>
   <h3>Adding the same events <i> to nested HTML elements and using the event.stopPropogation() method </i> in JavaScript </h3>
   <div class = "card-1" onclick = "firstDivClick(event)">
      <div class = "card-2" onclick = "secondDivClick(event)">
         <div class = "kebab-menu" onclick = "kebabMenuClick(event)"> Menu </div>
      </div>
   </div>
   <div id = "content"> </div>
   <script>
      let content = document.getElementById("content");
      function firstDivClick(event) {
         content.innerHTML += "first div clicked <br>";
      }
      function secondDivClick(event) {
         event.stopPropagation();
         content.innerHTML += "second div clicked <br>";
      }
      function kebabMenuClick(event) {
         event.stopPropagation();
         content.innerHTML += "kebab menu clicked <br>";
      }
   </script>
</body>
</html>

登錄后復(fù)制

用戶學(xué)會(huì)了對(duì)事件使用 event.stopPorpogation() 方法。基本上,它用于阻止事件傳播到父元素。這樣,當(dāng)同一個(gè)事件觸發(fā)父子元素時(shí),我們就可以為所有子元素執(zhí)行不同的函數(shù)。

以上就是如何使用 JavaScript 中的內(nèi)聯(lián) onclick 屬性停止事件傳播?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!

分享到:
標(biāo)簽:傳播 停止 內(nèi)聯(lián) 如何使用 屬性
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定