2011-02-17 119 views
4

我有一個div,我想點擊,但我需要一個mailto鏈接裏面的div仍然工作。當我將鼠標懸停在mailto鏈接上時,mailto出現在瀏覽器的底部,但點擊會激活鏈接到div的鏈接。無論如何圍繞這個?謝謝。jQuery可點擊的div與工作mailto鏈接裏面

<div class="directory_search_results"> 
<img src="images/no_photo.png" /> 
<ul class="staff_details"> 
<li class="search_results_name"><a href="http://www.netflix.com">Micheal Staff</a></li> 
<li class="search_results_location">University of Illinois</li> 
<li class="search_results_email"><a href="mailto:[email protected]">[email protected]</a></li> 
    <li class="search_results_phone">(407) 555-1212</li> 
    <li class="search_results_office">(407) 555-1212</li> 
</ul></div> 

現在jQuery的

$(document).ready(function(){  
$(".directory_search_results").click(function(){ 
     window.location=$(this).find("a:first-child").attr("href"); 
     return false; 
}); 

回答

9

類添加到您的mailto:鏈接是這樣的:

<div class="directory_search_results"> 
<img src="images/no_photo.png" /> 
<ul class="staff_details"> 
<li class="search_results_name"><a href="http://www.netflix.com">Micheal Staff</a></li> 
<li class="search_results_location">University of Illinois</li> 
<li class="search_results_email"><a class="nobubble" href="mailto:[email protected]">[email protected]</a></li> 
    <li class="search_results_phone">(407) 555-1212</li> 
    <li class="search_results_office">(407) 555-1212</li> 
</ul></div> 

並添加下面的jQuery代碼

$('.nobubble').click(function(event){ 
    event.stopImmediatePropagation(); 
}); 

這將阻止事件的冒泡到父DIV螞蟻引發的點擊那裏。

+0

工作。謝謝! – 2011-02-17 20:34:47

0

考慮這一點。

jquery提供的其中一個項目是模式對話框。

基本上它提供了一個帶有「屏幕」的對話框,它位於屏幕的其餘部分,以防止您在對話框啓動時單擊頁面上的其他任何內容。

div ...作爲一個容器元素可以容納多個項目... div中的任何項目仍然被認爲是div的一部分。

現在,我不是一個專業的,當涉及到DOM結構和層次結構,但它聽起來像你想做什麼不會工作。

如果在div內有類似鏈接的東西,並且jquery正在查看該元素的單擊事件。我會假設div內的任何東西都會在div提供的屏幕下面。所以如果你有一個div內的鏈接,你點擊鏈接,你也可以點擊div。