2011-08-02 204 views
2

我對JS和jQuery非常陌生,並且我剛剛掌握了基本的JS以在jQuery中嘗試一些東西。所以我想在這裏做的是防止頁面加載時,主導航中的鏈接被點擊(理想情況下會加載與Ajax的頁面)。試圖防止默認點擊並運行一個函數

所以這是我的腳本到目前爲止,基本沒有什麼工作......在Chrome中,警報顯示並顯示被點擊的鏈接,但FF4似乎完全忽略了我的腳本(螢火蟲控制檯不顯示任何內容)。

任何幫助表示讚賞。

$(document).ready(function(){ 
$("#navigation a").each(function() { 
    $(this).click(function(){ 
     event.preventDefault(); 
     loader(); 
    }); 
}); 

}); 

function loader(){ 
theLink = event.target; 
alert("You clicked: " + theLink); 
} 
+0

http://stackoverflow.com/questions/970388/jquery-disable-a-link –

回答

1

您沒有將事件對象傳遞給您的點擊處理程序。此外,您不需要.each()作爲.click()將枚舉您的查詢的結果,並附上一個單擊處理他們每個人

嘗試調整到:

$(document).ready(function(){ 
    $("#navigation a").click(function(e) { 
      e.preventDefault(); 
      loader(e); 
     }); 
    }); 
}); 

function loader(e){ 
    theLink = e.target; 
    alert("You clicked: " + theLink); 
} 
+0

謝謝,仍然得到熟悉的事件和傳遞的東西的功能。 – andyjv

+0

沒問題,很高興能有所幫助:) –

2

嘗試更新您的合作德本

$(document).ready(function(){ 
    $("#navigation a").click(function(event){ 
     event.preventDefault(); 
     loader(event); 
    }); 
}); 

function loader(event){ 
    var theLink = event.target; 
    alert("You clicked: " + theLink); 
} 
2
$(document).ready(function(){ 
    $("#navigation a").click(function(event){ 
      event.preventDefault(); 
      loader(event); 
     });     

    function loader(event){ 
    theLink = event.target; 
    alert("You clicked: " + theLink); 
    } 
});