从 <script> 设置 onclick 值不起作用
setting the onclick value from <script> doesn't work
我在 HTML
中创建了一个按钮
<button id = "back_button" type="button" onclick="" value="Home">Go Back</button>
并将代码放在 <script>
标签中
document.getElementById("back_button").onclick = "redirect('" + previous_location + "')"
如果我在 HTML 中手动设置它,它工作正常,但是当通过脚本设置时它甚至 运行 没有这个功能。我放了一个 console.log
来检查,检查元素控制台或 main
中没有输出
有谁知道我做错了什么或者我如何才能用其他方式更改按钮位置的值?
从脚本分配回调时,必须提供函数变量,而不是字符串:
document.getElementById("back_button").onclick = redirect(previous_location)
但像这样我们会将 redirect
的结果分配给 onclick
,这应该是一个函数。所以创建一个匿名函数来为你调用重定向:
document.getElementById("back_button").onclick = function() { redirect(previous_location); }
// OR
document.getElementById("back_button").onclick = () => redirect(previous_location);
我在 HTML
中创建了一个按钮
<button id = "back_button" type="button" onclick="" value="Home">Go Back</button>
并将代码放在 <script>
标签中
document.getElementById("back_button").onclick = "redirect('" + previous_location + "')"
如果我在 HTML 中手动设置它,它工作正常,但是当通过脚本设置时它甚至 运行 没有这个功能。我放了一个 console.log
来检查,检查元素控制台或 main
有谁知道我做错了什么或者我如何才能用其他方式更改按钮位置的值?
从脚本分配回调时,必须提供函数变量,而不是字符串:
document.getElementById("back_button").onclick = redirect(previous_location)
但像这样我们会将 redirect
的结果分配给 onclick
,这应该是一个函数。所以创建一个匿名函数来为你调用重定向:
document.getElementById("back_button").onclick = function() { redirect(previous_location); }
// OR
document.getElementById("back_button").onclick = () => redirect(previous_location);