我想在加载网页时自动运行一个函数,然后我想提供在执行后重新运行该函数的选项。
如果该部件不在数据库中,则以下代码将起作用,并且如果不使用 document.write
而是使用 alert
来显示该部件,则以下代码将起作用,但如果我使用 document.write,再次搜索的按钮就会消失。我认为这是因为按钮没有被重新初始化。我已经移动了它,但什么也没得到,并尝试重新加载网页,这是功能性的,但由于需要时间而不能令人满意。
是否有办法防止按钮消失,或者您推荐更好的方法?
提前致谢。
<!DOCTYPE HTML>
<html>
<body>
<input id="clickMe" type="button" value="Search for Another Part" onclick="search_part();" />
<script type="text/javascript">
function search_part()
{
var part = prompt("Stackoverflow example: ");
if( typeof part === 'undefined' )
{
alert("That part is not in the database.")
}
else
{
document.write( part )
}
}
window.onload = search_part();
document.getElementById("Button").onclick = search_part;
</script>
最佳答案
加载 DOM 后,document.write
会替换页面上的所有内容。相反,您可能希望在 body 上有一个元素容器并在其中显示消息。
<input id="clickMe" type="button" value="Search for Another Part">
<div id="messages-here"></div>
<script type="text/javascript">
function search_part () {
var part = prompt("Stackoverflow example: ");
if (typeof part === 'undefined') {
alert("That part is not in the database.");
} else {
document.getElementById('messages-here').innerHTML = part;
}
}
window.onload = search_part();
document.getElementById("clickMe").onclick = search_part;
</script>
关于javascript - 如何在加载运行后使用 javascript 提供调用函数的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23499752/