我在頁面上使用Icegram(「退出意圖」模式彈出式插件)。我們在頁面上有點擊通話鏈接,問題在於,無論何時有人點擊通話,瀏覽器都會將其視爲離開頁面,因此我們的退出意圖彈出窗口顯示,而人們嘗試撥打電話,這絕對不是我們想要的。Jquery:addClass添加頁面時不存在的動態元素
所以,我嘗試添加一個jQuery函數來調用鏈接,就像這樣:
<style>
.hide-icegram {display:none !important}
</style>
<a href="tel:8888888888" class="clicktocall">8888888888</a>
<div class="icegram-popup"></div> <!--div inserted dynamically by icegram's script-->
<script>
jQuery(".clicktocall").click(function() {
jQuery(".icegram-popup").addClass("hide-icegram");
});
</script>
但無論我做什麼,「隱藏-icegram」類不應用到icegram彈出,所以它保持可見。
我注意到<div class="icegram-popup">
只有在它被激活時才被插入到頁面中。所以我想知道如果addClass不工作,因爲它正在尋找「icegram-popup」div,但它不存在於頁面加載,所以也許這是問題?
我只想讓「hide-icegram」類適用於<div class="icegram-popup">
任何時候有人點擊通話鏈接。有任何想法嗎?
您需要使用委託事件處理程序,因爲'.icegram-popup'元素在頁面加載後被添加到DOM。請參閱我標記爲重複的問題,以便更全面地解釋問題及其解決方案。 –