Javascript 如何在twitter引导对话框中停止不需要的重复变量?
我可以通过ajax删除多个链接:Javascript 如何在twitter引导对话框中停止不需要的重复变量?,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我可以通过ajax删除多个链接: <a id="id-1">link1</a> <a id="id-2">link2</a> <a id="id-3">link2</a> <a id="id-4">link2</a> ... 当我刷新第一个页面时,我收到了以下警告: (点击link1) 但是对于第二,第三和。。。我错了 例如,第二个: (单击链接2) 第三: (单击链接3) 我想 1:id-3 2:
<a id="id-1">link1</a>
<a id="id-2">link2</a>
<a id="id-3">link2</a>
<a id="id-4">link2</a>
...
当我刷新第一个页面时,我收到了以下警告:
(点击link1
)
但是对于第二,第三和。。。我错了
例如,第二个:
(单击链接2)
第三:
(单击链接3)
我想
1:id-3
2:id-3
您能帮我解决这个问题吗?当您在另一个事件处理程序中绑定事件处理程序时,每次单击元素都会附加一个新的事件处理程序,因此您就遇到了问题。您可以使用来持久化任意数据
$(document).on("click", "[id^=id-]",function(event) {
event.preventDefault();
var btnid = this.id;
alert('1:'+btnid );
$("#confirmbtn").data('id', this.id)
})
// a dialog confirm to aks delete in bootstrap
$(document).on( "click", "#confirmbtn", function(event) {
alert('2:'+$(this).data('id'));
});
当您在另一个事件处理程序中绑定事件处理程序时,每次单击元素时都会附加一个新的事件处理程序,因此您就遇到了问题。您可以使用来持久化任意数据
$(document).on("click", "[id^=id-]",function(event) {
event.preventDefault();
var btnid = this.id;
alert('1:'+btnid );
$("#confirmbtn").data('id', this.id)
})
// a dialog confirm to aks delete in bootstrap
$(document).on( "click", "#confirmbtn", function(event) {
alert('2:'+$(this).data('id'));
});
您正在将多个EventHandler绑定到按钮。单击每个链接(link-1、link-2等)后,您将向按钮添加一个新的链接,但现有的链接将保留。为了解决这个问题,您可以在初始化时向确认按钮添加一个事件处理程序,并使用一个变量,它随时告诉您上次单击了哪个链接。你可以这样做:
$(document).ready(function() {
var lastLinkId;
$("#confirmbtn").click(function() {
alert("2: "+lastLinkId);
});
$(document).on("click", "[id^=id-]",function(event) {
event.preventDefault();
lastLinkId = this.id;
alert('1: '+lastLinkId);
});
});
您正在将多个EventHandler绑定到按钮。单击每个链接(link-1、link-2等)后,您将向按钮添加一个新的链接,但现有的链接将保留。为了解决这个问题,您可以在初始化时向确认按钮添加一个事件处理程序,并使用一个变量,它随时告诉您上次单击了哪个链接。你可以这样做:
$(document).ready(function() {
var lastLinkId;
$("#confirmbtn").click(function() {
alert("2: "+lastLinkId);
});
$(document).on("click", "[id^=id-]",function(event) {
event.preventDefault();
lastLinkId = this.id;
alert('1: '+lastLinkId);
});
});
抱歉@Satpal,在我写我的答案时没有看到你的答案。很好,亲爱的。正如你所建议的不同方法。不需要道歉抱歉@Satpal,在我写我的答案时没有看到你的答案。很好,亲爱的。正如你所建议的不同方法。没有必要道歉,汉克斯。你的回答很好。我不知道。但我的答案是:只添加“$(this).off('click');”在
$(文档)的末尾。on(“单击”)、“#confirmtn”、function(event){…
@和a我不喜欢这种方法,因此不建议这样做。你也可以使用.off().on(
谢谢。你的答案很好。我不知道。但对我来说,答案是:只在$(文档)的末尾添加“$(这个)。off(“单击”);”。on(“单击”,“confirmtn”,函数(事件){…
@我不喜欢这种方法,因此不建议这样做。您也可以使用.off().on(
$(document).on("click", "[id^=id-]",function(event) {
event.preventDefault();
var btnid = this.id;
alert('1:'+btnid );
$("#confirmbtn").data('id', this.id)
})
// a dialog confirm to aks delete in bootstrap
$(document).on( "click", "#confirmbtn", function(event) {
alert('2:'+$(this).data('id'));
});
$(document).ready(function() {
var lastLinkId;
$("#confirmbtn").click(function() {
alert("2: "+lastLinkId);
});
$(document).on("click", "[id^=id-]",function(event) {
event.preventDefault();
lastLinkId = this.id;
alert('1: '+lastLinkId);
});
});