我试图在bootstrap中创建类似按钮加载的内容。基本上创建一个按钮/链接中加载文本和防止运行,直到操作从被调用/子函数退出/打破主要功能
所以这里的结束按钮/链接是我的原型
function btnLoader(b){
var txt = b.attr('data-text' , b.text());
b.addClass('disabled').text('......');
}
function btnunLoader(b){
b.removeClass('disabled').text(b.attr('data-text'));
}
所以这工作得很好像
<a href="#" onclick="mainFunction(1);" id="btn-1"> send comment </a>
<script>
function mainFunction(id){
btnLoader($('#btn-'+id));
do stuff
btnunLoader($('#btn-'+id));
}
</script>
或
<a href="#" id="like-btn"> LIKE </a>
<script>
$('#like-btn').on('click' , function(){
btnLoader($(this));
do stuff
})
</script>
这是问题: 我想要按钮加载
我可以做这样的事情,以检查是否按钮已经disabled
类
function btnLoader(b){
if(b.hasClass('disabled'))
return false;
var txt = b.attr('data-text' , b.text());
b.addClass('disabled').text('......');
}
后停止,但它对mainFunction
没有效力的调用btnLoader
功能或第二例如,我想打破点击事件btnLoader
有没有办法做到这一点?
普莱斯注意,点击的元素可能是<a>
或其他任何标记,他们没有禁用的属性,所以这不是一个选项
你为什么要打破的主要功能?你的代码中一切看起来都很好。你想要什么没有发生? –
@Reddy让我们说它的一个按钮来发送评论,在主要功能我想发送一个ajax请求并将评论保存在数据库中......现在用户可以通过反复点击按钮多次保存评论,但如果我打破在第一次点击后不会发生的主要功能 – max
在第一次点击按钮时解除点击事件,然后当过程完成时,可以将点击事件绑定回去。这将是简单的代码,没有太多头痛 –