javascript - 我正在向 anchor 标记的前面添加一个图标,但是我想阻止它多次添加图标

标签 javascript jquery

我想限制每个 anchor 标记多次添加图标。

如果您多次点击任何链接(foo、bar、baz),它只会不断添加多次。

有什么想法可以阻止这种情况吗?

$('a').click(function() {
  $('<a href="#"><i class="glyphicon glyphicon-info-sign" style="color: #ccc;"></i></a>').insertBefore($(this))
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a>foo</a>
<br>
<a>bar</a>
<br>
<a>baz</a>

最佳答案

您可以简单地使用 jQuery one()方法。 这样,您的代码将在每个 click 事件的每个元素上最多执行一次。

代码:

$('a').one('click', function() {
  $('<a href="#"><i class="glyphicon glyphicon-info-sign" style="color: #ccc;"></i></a>').insertBefore($(this))
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a>foo</a>
<br>
<a>bar</a>
<br>
<a>baz</a>

关于javascript - 我正在向 anchor 标记的前面添加一个图标,但是我想阻止它多次添加图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38308373/

相关文章:

javascript - 我需要帮助使用在 Jquery 中定义全局变量将变量从链接传递到函数中

javascript - 获取元素宽度跳出 while 循环

javascript - 如何在 React Native 的同一行设置两个输入?

jquery - 使用 jQuery 最小化/最大化 div

特定行的 Jquery div 选择器

javascript - 有没有什么方法可以不使用 tweetbox 直接点击一个按钮来发推文?

javascript - 替代按位置动画的侧 slider

javascript - jQuery 找到最接近的给定类

javascript - 使 smoothState 动画和 Masonry 一起工作

javascript - 使用 jQuery 从 HTML 元素中删除破折号