javascript - 如何在加载运行后使用 javascript 提供调用函数的选项

标签 javascript html recursion

我想在加载网页时自动运行一个函数,然后我想提供在执行后重新运行该函数的选项。

如果该部件不在数据库中,则以下代码将起作用,并且如果不使用 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/

相关文章:

javascript - Ionic 2 与 ngrx、AlertController、LoadController 问题

javascript - 切换开关类——意外行为

PHP:自动生成的 XML 回车实体出现 w/SimpleXML 和 xpath

java - 递归最长词编程

c++ - 递归中 void 的无效操作数

c# - 如何递归返回直接对象中 'toy' 项目的数量以及该对象的所有直接子对象

Javascript : class instantiation with json

javascript - chrome.storage 未按预期工作

javascript - 我的 JavaScript 中的函数出现问题

javascript - angularjs 数据与动态创建的元素绑定(bind)