2014-10-31 20 views
0

我使用jQuery 2.1.1和我有這樣的代碼:如何可以設置處理程序的所有鏈接與真正的href?

//Load and execute script via AJAX 
function loadScript(e) { 
     $.getScript($(e.target).attr("href")).error(function (error) { 
      $.notify("Request error"); 
     }); 
    return false; //Cancel opening link in the browser 
} 

//Set handlers to all <a> elements with href attribute and href!='#' 
Desktop.prototype.init = function() { 
    $("body").on("click", $("a[href][href!='#']"), {}, loadScript); 
}; 

當我做單擊在一個地方的文件,我看到錯誤消息(404)。爲什麼?我應該在這種情況下寫什麼?我將通過點擊<a>標籤來動態加載和執行腳本。

回答

0

對於沒有href值爲#的錨點元素,您可以使用以下語法進行事件委派。

$('body').on('click', 'a:not([href="#"])', loadScript); 

Here's a working jsFiddle

相關問題