javascript - 单击时将图标添加到 HTML 按钮

标签 javascript html events button font-awesome

这是我的按钮:

<button type="button" id="myButton" class="myButtonCSS" onclick="handleMyButtonClick()"> myButton! </button>

在我的handleMyButtonClick()函数中,我有一些逻辑,但我想要完成的是在执行该逻辑时添加一个等待图标。我发现如何使用此代码执行此操作:

<i class="fa fa-spinner fa-spin"></i>

如果我将其添加到我原来的按钮声明中,它就可以工作,但它总是在那里。我只希望在单击时显示此内容。我正在尝试将“i class”添加到我的 JavaScript on click 函数中的按钮。我尝试过使用 .classList.add() 但我一定做错了,或者完全错误地处理它。我怎样才能做到这一点?

最佳答案

您需要做的是在方法的开头更新按钮的内部 html handleMyButtonClick()

var btn = document.getElementById('myButton');
btn.innerHTML = '<i class = "fa fa-spinner fa-spin"></i> Please wait...';

完成逻辑后,将按钮重置回原始状态。

btn.innerHTML = 'myButton!';

看看这个完整的代码。正如您所希望的那样工作。

function handleMyButtonClick(){
 // Get button element
 btn = document.getElementById('myButton');
 
 // Set the spinner 
 btn.innerHTML = '<i class = "fa fa-spinner fa-spin"></i> Please wait...';
 
 // Do the work. A sample method to wait for 3 second.
 setTimeout(function(){ 
 
 console.log("work done"); 
 
 // When the work is done, reset the button to original state
 btn.innerHTML = 'myButton!';
 
 }, 3000); 
 
}
<button type="button" id="myButton" class="myButtonCSS" onclick="handleMyButtonClick()"> myButton! </button>

关于javascript - 单击时将图标添加到 HTML 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54454483/

相关文章:

javascript - 根据输入值向div添加内容

javascript - 如何使用 jquery 使用 name 属性解析远程页面中的图像?

html - 如何为 HTML 中的每个开关分配不同的值

mysql - MySQL 中同一事件有可能重叠吗?

javascript - CSV 导入脚本在 Google 电子表格中不起作用

javascript - 如何在 Firefox 中重置表单?

html - 是否可以在多个元素上重用数据列表?

ASP.NET - 控制事件不在中继器内部触发

python - PyQt:如何确定同时按下哪个鼠标按钮以及哪个 QTableView 的单元格?

javascript - <html :hidden> and &lt;input type ="hidden"> on IE11 之间的区别