我添加事件监听这样的:为什么在点击时应该执行一次函数1 + n次?
var runSingleTest = document.getElementById('runSingleTest');
runSingleTest.addEventListener('click', sendSingeleTestCase);
当用户单击我的表格下面的代码按钮时,执行1 + n次,其中n是之前点击该按钮的数量。
function sendSingeleTestCase(){
var frm = $('#scriptCodeForm');
var btn = $('#runSingleTest');
saveScriptToLocalStorage();
frm.submit(function (ev){
$.ajax({
type: frm.attr('method'),
url: btn.attr('formaction'),
data: frm.serialize(),
success: function (data) {
console.log("Test would run once.");
}
});
ev.preventDefault();
});
}
它没有像预期的那样表现(当它只应执行一次时执行很多次)。
你能帮我理解为什么它不能按照假设工作吗?
谢谢!
尝试'$('#runSingleTest')。one('click',sendSingeleTestCase)' –
如果您也显示您的表单HTML,我可以给出您在评论中提到的* multiple submit button *问题的示例。 –
@TrueBlueAussie here:https://jsfiddle.net/93a5aok3/ – Abdizriel