`

记一次禁用a标签的过程

 
阅读更多

对前端不太熟,今天做一个禁用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")); 
			});
		});
	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics