我想覆蓋錨標記的默認行爲,所以我可以加載到我的服務器上的網頁到現有的div,而不是一個新的選項卡或窗口。使用jquery覆蓋錨標記的默認行爲
到目前爲止,我有:
myContainer.click(function(){
event.preventDefault();
$('a').click(function(){
var link = $(this).attr('href');
myContainer.load(link);
});
});
在鉻我有兩次單擊鏈接它之前任何東西,在IE瀏覽器的FF它在所有不工作,並刷新新鏈接的頁面。
任何幫助,非常感謝。
你絕對美!完美的人!順便說一句,現場和代表之間的區別是什麼? – Julio 2011-03-05 23:51:27
@Julio:'live'向文檔根部添加一個事件處理程序(因此事件必須冒泡整個DOM樹),而'delegate'將事件處理程序添加到某個元素(在這種情況下爲'myContainer')。因此,在這個'delegate'示例中,只處理* myContainer'內的鏈接*上的事件,而with,點擊每個鏈接將被處理(儘管您也可以編寫'$('#myContainer a')。 live()'。但正如我所說的,使用'delegate',事件處理函數可以綁定到更接近原始元素的元素,您應該比'live'更喜歡'delegate'。 – 2011-03-05 23:55:55
感謝man!非常棒的信息。缺少事件 - 小學生錯誤!我正在爲特定的瀏覽器應用程序編寫自定義選項卡插件,因此這是非常有用的信息。基本打開新選項卡或現有選項卡中的某些鏈接,管理選項卡,瀏覽器歷史記錄等 - 在這個問題的領域的任何提示意見? – Julio 2011-03-06 00:23:10