繁体   English   中英

无法在回调中更改元素的 innerText

[英]Can't change an element's innerText inside a callback

我正在尝试构建一个动态的“重置”按钮,该按钮在循环中更改其 innerText 两次:第一次单击时(从“重置”更改为“您确定吗?”),再次单击时(从“是你确定?”到“重置”)。 但是,我无法修改回调中的 innerText 。 似乎我可以从 DOM 控制台很好地修改 innerText,所以我假设在 JS 中事件回调的工作方式方面我还不知道一些东西,我不知道它是什么。

function show_confirm_button() {
    document.getElementById('reset-button').innerText = "Are you sure?";
    document.getElementById('reset-button').onclick = reset_button;
}


function reset_button() {
    /* resetting things here */
    
    document.getElementById('reset-button').innerText = "Reset";
    document.getElementById('reset-button').onclick = show_confirm_button;
}

show_confirm_button()用于一个简单的引导按钮:

<button class="..." type="button" onclick=show_confirm_button()>
    <span id="reset-button">Reset</span>
</button>

我错过了什么?

正如@Barmar 所说:

您应该更改按钮onclick ,而不是跨度

这应该有效:

 function show_confirm_button() { document.getElementById('reset-button-text').innerText = "Are you sure?"; document.getElementById('reset-button').onclick = reset_button; } function reset_button() { /* resetting things here */ document.getElementById('reset-button-text').innerText = "Reset"; document.getElementById('reset-button').onclick = show_confirm_button; }
 <button class="..." type="button" onclick=show_confirm_button() id="reset-button"> <span id="reset-button-text">Reset</span> </button>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM