[英]How to make a div that is inside prepend open in a new tab/link?
當div具有功能或鈎住onclick時,如何使div打開新鏈接? 我一直在嘗試以下操作,但似乎沒有任何效果,因為div從未包含新鏈接。
jQuery.prepend('<div class="dropdown">' + r + closer + "</div>"))
我嘗試添加JavaScript,以使Bugme類包括新鏈接,但到目前為止還沒有運氣。
jQuery(".dropdown").on("click", function(e) {
location.href = "www.google.com.com";
}
我還嘗試過包括onclick="location.href='http://www.google.com';"
在代碼中,但是沒有用,為什么下面的代碼不允許新的鏈接?
由於.dropdown
是動態添加的元素 ,因此需要所謂的event delegation
。 而不是location.href
使用window.open
。 因此,編寫click event
如下:
jQuery(document).on("click",".dropdown", function(e) {
window.open('http://www.google.com', '_blank')
}
$('body').append($('<div class="dropdown">Click me</div>')); jQuery(".dropdown").on("click", function(e) { location.href = "www.google.com.com"; });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
這也可以嘗試
僅供參考;
此代碼不起作用
jQuery(".dropdown").on("click", function(e) {
location.href = "www.google.com.com";
}
原因:
jQuery不知道具有class dropdown
的任何元素,因為它是在運行時插入的,並且未分配新添加項目的事件處理程序。
委派事件的優勢在於,它們可以處理來自后代元素的事件,這些事件在以后的時間添加到文檔中。 通過選擇保證在附加委托事件處理程序時會出現的元素,您可以使用委托事件來避免頻繁附加和刪除事件處理程序的需要。
這里保證document
對象始終存在。
jQuery(document).on("click", ".dropdown", function(e) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.