如何为所有具有真实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)。为什么?在这种情况下我应该写什么?我将通过单击&lt;a&gt; 标签动态加载和执行脚本。

【问题讨论】:

【参考方案1】:

您可以对没有 href 值 # 的锚元素使用以下语法进行事件委托。

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

Here's a working jsFiddle

【讨论】:

以上是关于如何为所有具有真实href的链接设置处理程序?的主要内容,如果未能解决你的问题,请参考以下文章

带 plotly 的树状图 - 如何为层次聚类设置自定义链接方法

如何为所有精灵图像设置动画?

我们如何为 64 位操作系统设置 oledb 提供程序

如何为 Tailwindcss 全局更改默认、活动和悬停状态的链接颜色?

如何为iOS工作区运行所有单元测试?

如何为所有列表项设置图像