我希望除mailto
链接外,所有链接上的点击都执行某个操作。我有下面的代码,它按预期工作。它首先将函数附加到所有链接,然后将其从mailto
链接中删除:
<a href="http://www.example.com">example.com</a>
<a href="mailto:someone@www.example.com">Someone</a>
<script type="text/javascript">
$('a').on('click', function () {
theAction();
});
$('a[href^="mailto"]').off('click');
</script>
我想要相同的功能,但是使用:not()
选择器,因为它看起来更优雅。
4条答案
按热度按时间pgvzfuti1#
相当 直接 :
中 的 每 一 个
或
格式
请 查看 文档 :
如果 你 的 页面 上 有 很多 链接 , 你 一定 要 选择 * event delegation * , 就 像 Utkanos 在 his answer 中 建议 的 那样 。
a14dhokn2#
与其将事件附加到每个链接,不如委托它。这也使得过滤哪些触发事件,哪些不触发事件变得非常容易。
baubqpgj3#
xesrikrc4#
Felix解决方案很好,否则,如果其他链路都是从
http/https
协议开始的绝对链路,则只需尝试