Javascript 在外部js文件中调用js函数
我试图用alert调用一个简单的函数,但是当我尝试从html页面调用函数(包含在外部js文件中)时,它就不起作用了 我有一个进口和呼吁是非常简单的。有什么建议吗Javascript 在外部js文件中调用js函数,javascript,Javascript,我试图用alert调用一个简单的函数,但是当我尝试从html页面调用函数(包含在外部js文件中)时,它就不起作用了 我有一个进口和呼吁是非常简单的。有什么建议吗 <head> <script src="/js/jsFunctions.js" type="text/javascript"></script> 试试这个 <a href="#" onclick="displayAlertText('someText');"> 如果这没有帮
<head>
<script src="/js/jsFunctions.js" type="text/javascript"></script>
试试这个
<a href="#" onclick="displayAlertText('someText');">
如果这没有帮助,我将开始确保您的javascript文件加载正确,并且没有包含一些简单的语法错误。在Firefox中打开Firebug查看您的页面,并查找警告和错误。您提到了jQuery。函数是独立的还是在jQuery对象中(即包装在另一个函数中)?这很重要
除了这个问题之外,调用函数的方式也不干净。将其移动到
onclick
属性,或者更好地利用jQuery。在纯jQuery中,您可以这样做:
$(document).ready(function(){
$('a').click(function(){
alert('here');
})
})
你现在所做的看起来应该有用。问题可能出在其他地方 带有“Javascript:”前缀的HREF真的很可怕。相反,请尝试将其改写为:
<a href="#" onclick="displayAlertText('someText'); return false;">
EDIT(基于评论):好的,我们已经确定您可以从页面上的“普通”JavaScript调用该方法。这意味着问题在于您试图从超链接调用脚本的方式
您是否已通过验证程序传递HTML?如果语法无效,那么用户代理可以按照自己的意愿解释它,包括完全忽略它
如果HTML确实有效,那么在这一点上,发布一个指向完整HTML的链接可能会很有用,这样其他人可以查看它并查看问题所在。这可能类似于另一个函数覆盖链接的
onclick
事件,因此事件处理程序会丢失。确保确实包含js文件。发出警报(“是的,包括我”);在displayAlertText函数外部,使用控制台调试器导入js文件(如IE8的Web Developer Tools或Firefox的Firebug会为您提供一条有意义的错误消息,您可以将其与代码一起发布。可能是Linux/OSX上的文件命名问题?是的,已关闭,文件已包含在内,我可以在Firebug中看到它以及我尝试调用的方法感谢,当我调用函数fr时在一个脚本块上,它可以正常工作。另外,我使用外部文件中的jquery函数,它们都可以正常工作。正在工作的函数和jquery函数之间的唯一区别是,它是在$(文档)外部定义的。ready(函数()不引人注目是最好的选择。但是,这将在页面上的每个元素上执行警报。如果您将class=“some\u class”
添加到
元素,您可以将其缩小为带有“some\u class”$('a.some\u class')
的
元素,或者如果您添加id=“some\u id”
对于
元素,您可以将其缩小为一个由“some_id”(id应该是唯一的ofc)标识的元素$('a#some_id')
。
$(document).ready(function(){
$('a').click(function(){
alert('here');
})
})
<a href="#" onclick="displayAlertText('someText'); return false;">
alert('External file loaded.');