在外部js文件中调用js函数

cdu*_*gan 2 javascript

我正在尝试使用警报调用一个简单的函数,但是当我尝试从我的html页面调用函数(包含在外部js文件中)时它不会工作.

我有一个导入,电话很简单.有什么建议?

    <head>
<script src="/js/jsFunctions.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我打电话

<a href="javascript:displayAlertText('someText');">
Run Code Online (Sandbox Code Playgroud)

在js里面我有一些jquery后跟一个函数

function displayAlertText(someText)
    {
        alert('alert' + someText);
    }
Run Code Online (Sandbox Code Playgroud)

And*_*yle 5

你在做什么看起来应该工作.问题可能在其他地方.

带有"Javascript:"前缀的Href实际上非常可怕.相反,尝试将其重写为:

<a href="#" onclick="displayAlertText('someText'); return false;">
Run Code Online (Sandbox Code Playgroud)

除此之外(我认为这实际上不会导致它),你已经犯下了"它没有用"的主要罪过.你在控制台中遇到任何Javascript错误吗?除非确实调用了有效的函数,否则我怀疑你会有.

另外,尝试从<script>页面上的块中显式调用JS函数,以查看它失败的位置.

仔细检查外部文件是否真的已经在您点击链接时加载了 - 也许在外部脚本文件的底部放一行来帮助检查这一点,例如

alert('External file loaded.');
Run Code Online (Sandbox Code Playgroud)

编辑(根据评论):好的,所以我们已经确定你可以从页面上的"普通"JavaScript调用该方法.这意味着问题在于您尝试从超链接调用脚本的方式.

您是否通过验证器传递了HTML?如果语法无效,则用户代理可以根据需要对其进行解释,包括完全忽略它.

如果HTML确实有效,那么此时发布完整HTML的链接可能很有用,这样其他人就可以查看它并查看问题所在.它可能类似于覆盖onclick链接事件的另一个函数,因此您的事件处理程序会丢失.