我创建了这个按预期工作的测试用例:
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="site.js"></script>
<script>
function click_me() {
deActivateButton("Please wait ..", "#btnX");
activateButton("Click me 2", "#btnX");
}
</script>
<button type="button" id="btnX" onclick="click_me(); return false;">Click me
</button>
然后在site.js中保留两个小函数来停用/激活我的按钮:
function deActivateButton(btnText, id) {
$(id).text(btnText);
$(id).prop("disabled", true);
}
function activateButton(btnText, id) {
$(id).text(btnText);
$(id).prop("disabled", false);
}
这很好用,但在我的应用程序中使用代码时失败了。我正在使用带有母版页的Web表单。主页面加载包括文件:
<%Response.WriteFile("Content/Files/master_include_head.html");%>
然后在master_include_head.html中我包含了这样的实际javascript函数:
<script src="site.js"></script>
我在这里做错了什么?没有错误消息,它只是死了。我不能用这种设计引用点击按钮的id,或者是因为我包含文件的方式而导致按钮丢失的引用?它可以是缓存问题吗?
答案 0 :(得分:0)
您是不是只是设置然后清除然后立即清除代码中的值?
所以你正在激活然后立即取消激活你的按钮?
只是一点点说明。为什么不使用jQuery附加您的点击事件,如下所示:
$("#btnX").click(function(e) {
// Do stuff
});
旁注。我不确定是否需要返回虚假;你的onclick中的陈述。通常,这只包含函数名称。返回false;可用于防止事件冒泡的功能,因为你已经设置它我不确定它会有任何效果