簡體   English   中英

如何在新標簽頁/鏈接中打開預先放置的div?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM