我是javascript的新手,我没有使用jQuery。
当我点击按钮时,我正试图让我的函数btnHandle()
运行。
但是,我找到了
btn.onclick = btnHandle();
与
不同<button id="sort-btn" onclick="btnHandle()">submit</button>
当我使用btn.onclick = btnHandle();
时,当我刷新代码而不点击按钮时,会执行btnHandle()
功能。
我希望仅在单击按钮时执行该功能。
<button id="sort-btn" onclick="btnHandle()">submit</button>
按我的意愿工作。
为什么前一个不能正常工作?为什么会在页面加载时触发onclick
事件?
<button id="sort-btn" onclick="btnHandle()">submit</button>
<script type="text/javascript">
function btnHandle() {
var aqiData = getData();
aqiData = sortAqiData(aqiData);
render(aqiData);
}
function init() {
var btn = document.getElementById("sort-btn");
// btn.onclick = btnHandle();
}
init();
</script>
答案 0 :(得分:1)
正如凯文指出的那样,该功能正在立即执行,因为你后面有括号。
但是,这两种方法现在已经过时了。您应该使用addEventListener
:
btn.addEventListener('click', btnHandle);
答案 1 :(得分:0)
btn.onclick = btnHandle;
没有括号
btnHandle引用函数while btnHandle()执行函数