我有很多ajax调用,其中每个人都将新的html代码插入到DOM中。在成功的ajax中我再次调用函数,因此他们可以选择使用新的DOM元素。 问题是,每次新调用时,成功函数都被调用X次 - 1,2,4 ......例如,如果我有一个函数createNewButton并单击它两次,我最终会得到3个按钮,因为第二次通过ajax会再次调用该函数。
function ajaxAddFormFeild(field_type, value, unique) {
$.ajax({
beforeSend: function (request)
{
request.setRequestHeader("X-CSRF-TOKEN", $('meta[name="csrf-token"]').attr('content'));
},
type: "GET",
url: base_url + 'Form/' + field_type + '?value=' + value + '&unique=' + unique,
success: function (response) {
if (unique) {
$('.input-options[data-unique="' + unique + '"').first().after(response);
} else {
$('.form_content').append(response);
addNewOption();
changeFormFieldPosition();
}
removeFormGroup();
removeFormField();
},
dataType: 'html'
});
}
构建服务器端生成的表单构建器。 什么是完美的实现?! 你没有给出答案就点击了弊...
答案 0 :(得分:0)
您应该使用jQuery方法<div class="anim-container small" onclick="this.classList.toggle('morphed')">
<img src="https://maxcdn.icons8.com/windows10/PNG/32/Arrows/left_arrow-32.png" class="icons arr">
<img src="https://maxcdn.icons8.com/Android_L/PNG/24/Very_Basic/search-24.png" class="icons search">
</div>
<div style="opacity:.7;">
These two icons are from
<a href="https://icons8.com" target="_blank">Icons8</a>
</div>
取消绑定重复调用ajaxCall函数的元素上的事件。