【问题标题】:javascript linking onclick to a .js to a filejavascript将onclick链接到.js到文件
【发布时间】:2011-07-03 17:58:37
【问题描述】:

我创建了一个.js 文件,然后通过以下方式将其包含在 HTML 页面中:

<script type="text/javascript" src="yourexternalfile.js"></script>

如何使用onclick = "...."调用.js文件的函数?

我知道它会是这样的:

<input type="BUTTON" value="Exit" onclick="javascript: ???;" >

但我想不通...

【问题讨论】:

  • 下载一个js文件并在里面执行一些东西?

标签: javascript buttonclick


【解决方案1】:

如果你使用的是 JQuery,你可以这样做,

       <input type="button" onclick="javascript: $.getScript('../scripts/yourfilepath' , function (){ youFunctionCall() ; } );" />

这将在单击按钮时下载 JS 文件并执行其中调用的函数。

【讨论】:

    【解决方案2】:

    假设你的功能是......

    function myFunction() {
        alert("hello!");
    }
    

    触发器的一个例子是......

    <input type="button" onclick="myFunction(); return false;" value="Click me!" />
    

    【讨论】:

      【解决方案3】:

      要在外部文件中调用函数,请确保先加载文件,然后按正常方式调用它(只要它将自身暴露在您需要的范围内)。

      【讨论】:

        【解决方案4】:

        在你的页面中包含外部java脚本文件(最好在head标签中)使用

        <script type="text/javascript" src="yourexternalfile.js"></script>
        

        然后就可以调用js文件中定义的任意函数了

        【讨论】:

          【解决方案5】:

          使用&lt;script type="text/javascript" src=""&gt; 导入页面内的js文件。

          【讨论】:

          • 对,这是调用函数的正确方法吗? input type="BUTTON" value="Exit" onclick="javascript: OK_Cancel();"
          【解决方案6】:

          知道 JS 文件何时 (a) 加载和 (b) 完成执行是很棘手的,因为并非所有浏览器都支持。

          我相信你的想法是这样的:

          var s = document.createElement("script"),
              f = document.getElementsByTagName('body')[0];
          s.type = 'text/javascript';
          s.src = "https://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojo/dojo.xd.js";
          
          s.addEventListener("load", function() {
             console.log("script loaded");
          });
          
          f.appendChild(s);
          

          就像我上面提到的,它不适用于所有浏览器。即使是这样,如果您实际上是在尝试基于动态拉入的 JS 执行一些代码,它对您也不会很有用。

          在加载依赖项时执行某些操作的唯一可靠方法是将该依赖项包装在一个函数中。这样,当浏览器解析该 JS 时,它将执行该函数,这将让您知道您可以开始使用您想要引入的任何内容。这正是 JSONP 以它的工作方式工作的原因。

          如果这是您想要做的,请查看RequireJS

          【讨论】:

            【解决方案7】:

            您是否尝试过实际输入函数的名称?比如 onclick='myFunction()'

            【讨论】:

              【解决方案8】:

              我建议在 JS 文件中添加点击事件,如下所示:

              html:

              <input type="button" id="myButton"/>
              

              JS 文件:

              var myButton = document.getElementById('myButton');
                      myButton.onclick = function(){myFunction()};
              

              这样您就可以对 Javascript 文件中的元素进行编程。 只需将其放入您在加载时调用的函数中即可。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-06-26
                • 2012-11-24
                • 1970-01-01
                • 2012-05-15
                相关资源
                最近更新 更多