【发布时间】:2015-04-06 20:20:44
【问题描述】:
我搜索了相同的问题,但没有找到一个适合我的具体案例的问题。
我有一个元素
<span id="myButton">Click</span>
以及绑定到它的 jQuery 后请求
$(document).ready( function()
{
$(document).on( 'click', '#myButton', function(e)
{
$.post( "RESPONDING_WEBPAGE_HERE.php" ).done( function( result )
{
console.log( result );
});
});
});
现在,每次单击按钮时,它都会发出一个后请求。说得通。如果结果函数 (.done()) 被执行,我想要的是一个只执行后请求的好解决方案。
当然,我知道用 var isAjaxRequest = false; 之类的变量来处理它,将其设置为 true,然后在结果函数中返回 false,但也许有更好的(jQuery build -in) 的方式。
这是我现在的解决方案。如果有更好的,我会非常棒。
var isAjaxRequest = false;
$(document).ready( function()
{
$(document).on( 'click', '#myButton', function(e)
{
if( !isAjaxRequest )
{
isAjaxRequest = true;
$.post( "RESPONDING_WEBPAGE_HERE.php" ).done( function( result )
{
isAjaxRequest = false;
console.log( result );
});
}
});
});
谢谢你=)
【问题讨论】:
-
第一次点击后使用 .attr() 禁用按钮
标签: javascript jquery ajax html post