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

时间:2009-11-12 16:23:14

标签: javascript

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

我有一个导入,通话非常简单。有什么建议吗?

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

在我的代码中,我致电

<a href="javascript:displayAlertText('someText');">

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

function displayAlertText(someText)
    {
        alert('alert' + someText);
    }

4 个答案:

答案 0 :(得分:5)

你在做什么看起来应该有效。问题可能出在其他地方。

带有“Javascript:”前缀的Hrefs真的很可怕。相反,尝试将其重写为:

<a href="#" onclick="displayAlertText('someText'); return false;">

除此之外(我认为实际上不会导致它),你犯下了“它不起作用”的主要罪过。你在控制台中遇到任何Javascript错误吗?我怀疑你会有,除非确实调用了有效的函数。

此外,尝试从页面上的<script>块中明确调用JS函数,以查看它在什么时候失败。

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

alert('External file loaded.');

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

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

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

答案 1 :(得分:3)

在纯jQuery中你会这样做:

$(document).ready(function(){

    $('a').click(function(){
        alert('here');
    })

})

答案 2 :(得分:0)

试试这个......

<a href="#" onclick="displayAlertText('someText');">

如果这没有帮助,我会开始确保您的javascript文件正确加载并且在某处不包含一些简单的语法错误。在Firefox中使用Firebug查看您的页面并查找警告和错误。

答案 3 :(得分:0)

你提到了jQuery。该函数是独立的还是在jQuery对象中(即包含在另一个函数中)?这有所不同。

分开来自此问题,您调用该函数的方式并不干净。将其移至onclick属性或更好地利用jQuery。