$("#addNote").on("click",function () {
$.ajax({
url: location,
type: "put",
data:{
"title":$("#artcleTitle").v
"content":$("#mainArticle")
},
dataType:"json",
success:function (result) {
console.log(result);
}
});
});
在点击事件里面直接套用ajax请求,这样造成的后果就是,点击第一次就提交一次,点击第两次提交两次,点击第三次提交三次请求,如此类推。
原因是因为在点击事件内绑定了ajax请求,造成重复绑定,事件重复监听。
解决办法也简单,只要在绑定点击事件之前取消绑定即可,代码如下
$("#addNote").off("click").on("click",function () {
});
$("#addNote").off("click").on("click",function () {
$.ajax({
url: location,
type: "put",
data:{
"title":$("#artcleTitle").v
"content":$("#mainArticle")
},
dataType:"json",
success:function (result) {
console.log(result);
}
});
});
为了更直观的看见效果,做了demo测试。
//js
$("#button1").on("click",function () {
$("#button2").off("click").on("click",function () {
alert("222");
});
$("#button3").on("click",function () {
alert("333");
});
});
//html
<body>
<button type="button" id="button1">button1</button>
<button type="button" id="button2">button2</button>
<button type="button" id="button3">button3</button>
</body>