2014-05-03 30 views
0

我有一個jQuery的問題。寫完代碼後,可以在下面看到。我的超鏈接不起作用。位於頁腳上的鏈接完美地工作。很可能我在查詢時做錯了什麼。你能幫我解決這個問題嗎?jquery代碼阻止我的超鏈接工作

感謝,

$(".menu-url > a").on('click mouseenter', 
    function(){ 
     $(this).css("color","#000"), 
     $(this).next("div").css("visibility","visible"), 
     $(".menu-url > div").not($(this).next("div")).css("visibility","hidden"), 
     $(".menu-url > a").not($(this)).css("color","#fff"); 
     return false; 
    } 
); 

$(document).click(function() { 
    $(".menu-url > div").css("visibility","hidden"), 
    $(".menu-url > a").css("color","#fff"); 
}); 
$(".menu-url").click(function(e) { 
    e.stopPropagation(); 
    return false; 
}); 

回答

1

我的超鏈接不以某種方式工作。

這是因爲你告訴jQuery阻止他們工作。來自click處理程序的return false告訴jQuery告訴瀏覽器1.取消冒泡,以及2.防止默認動作(對於鏈接來說,該鏈接將跟隨鏈接)。

如果你想取消起泡,但不會阻止默認操作,接受事件的說法,去除return false;,並添加調用stopPropagation

$(".menu-url > a").on('click mouseenter', 
    function(e){ 
     $(this).css("color","#000"), 
     $(this).next("div").css("visibility","visible"), 
     $(".menu-url > div").not($(this).next("div")).css("visibility","hidden"), 
     $(".menu-url > a").not($(this)).css("color","#fff"); 
     e.stopPropagation(); 
    } 
); 

如果您不需要停止傳播,你只需刪除return false;

$(".menu-url > a").on('click mouseenter', 
    function(){ 
     $(this).css("color","#000"), 
     $(this).next("div").css("visibility","visible"), 
     $(".menu-url > div").not($(this).next("div")).css("visibility","hidden"), 
     $(".menu-url > a").not($(this)).css("color","#fff"); 
    } 
); 
+0

你甚至不讓我讀完這個問題!儘管如此,我今天已經超出了;) –

+0

@AmitJoki:LOL :-) –

相關問題