JavaScript将onclick链接到.js文件

6
我创建了一个 .js 文件,并通过以下方式将其包含在 HTML 页面中:
<script type="text/javascript" src="yourexternalfile.js"></script>

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

我知道大概是这样的:

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

但我想不出来怎么做...


1
如何下载一个js文件并在其中执行某些操作? - Dan Lord
8个回答

8
如果您正在使用jQuery,可以这样做,
       <input type="button" onclick="javascript: $.getScript('../scripts/yourfilepath' , function (){ youFunctionCall() ; } );" />

当按钮被点击时,这将下载JS文件并执行其中调用的函数。

8

假设你的函数是...

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

一个触发器的例子是...
<input type="button" onclick="myFunction(); return false;" value="Click me!" />

1

在你的页面中包含外部 JavaScript 文件(最好在 head 标签中):

使用

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

然后您可以调用在JS文件中定义的任何函数


1
要在外部文件中调用函数,请确保先加载该文件,然后像平常一样调用它(只要它向您需要的范围公开)。

0

了解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


0
使用 <script type="text/javascript" src=""> 在你的页面中导入 JavaScript 文件。

这是调用函数的正确方式吗?输入类型="BUTTON" 值="退出" 点击="javascript: OK_Cancel();" - Karl

0

你尝试过实际输入函数名称吗?比如 onclick='myFunction()'


0
我建议在 JS 文件中添加如下的 on-click 事件:
html:
<input type="button" id="myButton"/>

JS文件:

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

这样你就可以从Javascript文件中编写元素了。 只需将其放入一个函数中,在加载时调用即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接