我有一个按钮,当我点击按钮时,它会创建指向我图像的链接。这是我的代码:
$("#btn").click(function () {
var $a = $('<a/>').attr('href', 'blahblah.com').addClass('contact');
$('#img1').wrap($a);
});
问题:当我点击按钮时,链接会创建越来越多。 问题:虽然我多次单击按钮,但如何只创建链接。
我希望你能分享想法。感谢。
答案 0 :(得分:2)
$("#btn").click(function () {
if ($('#img1').parent('a.contact')) {
return;
}
var $a = $('<a/>').attr('href', 'blahblah.com').addClass('contact');
$('#img1').wrap($a);
});
答案 1 :(得分:2)
jQuery中有.one()函数,只为一次性操作启用处理程序(参见http://api.jquery.com/one/)
$("#btn").one('click', function () {
var $a = $('<a/>').attr('href', 'blahblah.com').addClass('contact');
$('#img1').wrap($a);
});
答案 2 :(得分:0)
您可以使用计数器变量,该变量最初应为null。当您第一次单击该按钮时,计数器将增加。之后,您可以检查计数器值。如果它等于1,那么您可以使用jquery的stopPropagation()
方法来停止该事件。
或者您可以使用jquery的preventDefault()
方法来停止默认事件。
否则,您可以使用jquery的stopImmediatePropagation()
方法立即停止当前事件。