如何为所有具有真实href的链接设置处理程序?
Posted
技术标签:
【中文标题】如何为所有具有真实href的链接设置处理程序?【英文标题】:How to can i set handlers to all links with real href? 【发布时间】:2014-12-27 12:53:55 【问题描述】:我使用 jQuery 2.1.1,我有这个代码:
//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>
标签动态加载和执行脚本。
【问题讨论】:
【参考方案1】:您可以对没有 href 值 #
的锚元素使用以下语法进行事件委托。
$('body').on('click', 'a:not([href="#"])', loadScript);
Here's a working jsFiddle
【讨论】:
以上是关于如何为所有具有真实href的链接设置处理程序?的主要内容,如果未能解决你的问题,请参考以下文章
带 plotly 的树状图 - 如何为层次聚类设置自定义链接方法