簡體   English   中英

如何從包含的js文件中引用html元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM