2015-10-20 103 views
0

如何讓div打開一個新的鏈接,當它有一個函數或onclick掛鉤它?我一直在嘗試以下內容,但似乎沒有任何工作,但分區從不包含新的鏈接。如何使預先打開的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';",但它沒有工作,爲什麼下面的代碼不允許新的鏈接?

回答

4

由於您的.dropdown動態添加元素你需要什麼是所謂event delegation。而不是location.href使用window.open。所以,下面寫click event

jQuery(document).on("click",".dropdown", function(e) { 
    window.open('http://www.google.com', '_blank') 
} 
0

$('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>

這個還曾嘗試

0

僅供參考;
此代碼亙古不工作

jQuery(".dropdown").on("click", function(e) { 
    location.href = "www.google.com.com"; 
} 

原因:
了jQuery沒有與dropdown類中的任何元素的概念,因爲它插在運行時和新添加的項事件處理程序不分配。

委託事件的優點是它們可以處理後來添加到文檔中的後代元素的事件。通過選擇在委託事件處理程序附加時保證存在的元素,可以使用委派事件來避免頻繁附加和刪除事件處理程序的需要。

此處document對象保證始終存在。

jQuery(document).on("click", ".dropdown", function(e) { 
相關問題