[英]How to reference html element from included js-file
我創建了這個測試用例,它可以按預期工作:
<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,或者由於我包含文件的方式而丟失了對按鈕的引用? 可能是緩存問題嗎?
您不只是先設置然后清除然后立即清除代碼中的值嗎?
因此,您要先激活然后立即取消激活按鈕?
只是一點筆記。 為什么不使用jQuery附加點擊事件,如下所示:
$("#btnX").click(function(e) {
// Do stuff
});
邊注。 我不確定是否需要返回false; 您的onclick中的聲明。 通常,它僅包含函數名稱。 返回false; 可以在函數中使用以防止事件冒泡,因為您已經設置了它,所以我不確定它是否會有效果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.