对前端不太熟,今天做一个禁用a标签点击事件的功能,走了些弯路,谨记。
a标签代码如下:
<s:if test="#stock.openStatus ==0">
<a href="javascript:void(0);" class="btn" onclick="APP.openStock('${stock.martketCode}','${stock.openbizUnitid}','${stock.bizId}');">新开</a>
</s:if>
<s:if test="#stock.takeStatus ==0">
<a href="javascript:void(0);" class="btn rightBtn" onclick="APP.takeStock('${stock.martketCode}','${stock.takebizUnitid}','${stock.bizId}');">下挂</a>
</s:if>
要达到的效果:点击任何一个按钮后禁止所有按钮再产生点击事件,直到接到服务器响应为止。
具体的弯路过程就不说了,就记下一点结论吧。
1:由于在a标签里设置了onclick属性,所以执行语句$btn.off("click")语句不能达到效果
2:使用$btn.removeAttr("onclick")语句才可以
最后的代码如下:
function showTipAndDisableButton(flag) {
if (flag) {
$('<p class="veri_msg suc"><i></i>查询中,请稍候...</p>').insertAfter($("#stock_table")).css({"display":"inline-block"});
$(".btn").each(function() {
$(this).removeAttr("onclick");
$(this).off("click");
});
} else {
$('#stock_table').siblings('p.veri_msg').remove();
$(".btn").each(function() {
$(this).on("click", function() {
eval($(this).attr("bak"));
});
});
}
}

569

被折叠的 条评论
为什么被折叠?



