日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jquery父元素和子元素点击事件传递问题_不可把父元素的事件传递给子元素_事件无限循环传递...

發布時間:2024/4/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jquery父元素和子元素点击事件传递问题_不可把父元素的事件传递给子元素_事件无限循环传递... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前述:jquery中: 當一個元素的點擊事件被觸發時,會自動將該事件向父級元素逐級專遞。

但是實際場景當中,我們可能會遇到需要在父級元素中定義點擊事件,來觸發特定子元素的點擊事件,我就遇到了這么一個問題。? 但是這么做的后果,在jquery1.8.2版本及以后所有版本(截止目前最新版本為3.3),會出現事件來回傳遞的問題,最終導致無限循環。

在jquery1.2.6版本中,子元素的點擊傳遞給父元素時,再被父元素傳遞回來后,事件就不會再向外擴散了,也就是低級版本jquery只會向外擴散一次,但是在最新版本卻取消了這個限制,不知所以然。。。

?

解決方案也很簡單:

1-不變更DOM結構的情況下,阻止子元素的事件向外擴散。? 可以使用:window.event.stopPropagation();

2-將需要傳遞事件的父元素拆分到別處,即不讓傳遞事件之間的兩者形成父子元素關系即可。

3-刪除事件傳遞,哪里點擊哪里添加。

?

以下還原父子元素點擊事件無限傳遞的示例:

<!DOCTYPE html> <html> <head><script src="https://code.jquery.com/jquery-3.3.1.min.js"></script><!--<script src="jquery.js"></script>--> </head> <body><div id="a"><a id="b">Test</a></div> </body> </html><script>var i = 0;$("#a").click(function () {$("#b").click();});$("#b").click(function () {i++;alert(i);}); </script>

?

轉載于:https://www.cnblogs.com/lxhbky/p/9963050.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的jquery父元素和子元素点击事件传递问题_不可把父元素的事件传递给子元素_事件无限循环传递...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。