基本思路是防止双击.我<button>点击时使用html 来调用一个函数,这会调用ajax.<button>禁止本机行为event.preventDefault(),这意味着不应提交任何表单.另外,我正在使用TypeScript:
private form: JQuery;
...
private getTargetAndCallAjax(): void {
var target: string = this.form.find("form").data("target");
this.form.find("button[type='submit']").on("click", (event)=> {
event.preventDefault();
this.callAjax(target);
});
}
private callAjax(target: string): void {
...
}
Run Code Online (Sandbox Code Playgroud)
至于,我已实施_.debounce为:
private form: JQuery;
...
private getTargetAndCallAjax(): void {
var target: string = this.form.find("form").data("target");
this.form.find("button[type='submit']").on("click", (event) => {
event.preventDefault();
var ajaxCall = function () { this.callAjax(target) };
_.debounce(ajaxCall, 1000, true);
});
}
private callAjax(target: string): void {
...
}
Run Code Online (Sandbox Code Playgroud)
this.ajaxCall(target)如果<button>检测到多次点击,目标是每1秒调用一次.不幸的是,函数 …