未捕获的ReferenceError:未定义’functionName’
所以我在.jsp文件中检查了我的脚本标签:
"some content here ...."
在同一个.jsp文件中我有一个标签:
但是,在我的JavaScript文件中,我有:
$(document).ready(function(){ $('current').click(function(event){ function functionName() { ....... }
不知何故,我在Chrome控制台中不断收到错误消息:
未捕获的ReferenceError:未定义functionName
将您的functionName()
移出$(document).ready(function(){
function functionName() { ....... } $(document).ready(function(){ $('.current').click(function(event){ functionName(); }); });
此外,您需要使用.
按类别定位元素或按id
定位目标元素
因此$('.current')
将选择class="current"
任何元素, $('#current')
将选择id="current"
的元素
最后要注意的是更新你的jQuery版本,因为1.3.1
已经非常过时,它缺少许多有用和重要的function,这些function得到了更高版本的支持。
不要将你的函数包装在DOM ready($(document).ready(function(){)
handler.As它是一个匿名函数,所以你的functionName()
函数有local scope
。所以你不能在DOM ready
之外调用它
阅读JavaScript中的变量范围是什么?
在onLoad中调用functionName时,该函数尚未在文档中。 尝试将函数functionName输出。 例如,
移动函数将是修复它的一种方法,但另一种方法是简单地从“就绪”处理程序调用函数,或者如果从“加载”处理程序加载所有页面内容真的很重要:
$(document).ready(function() { function functionName() { // whatever } functionName(); });
不必要地污染全局命名空间通常是一件坏事。
function functionName() {
应该在$(document).ready(function(){
之外定义
function functionName() {...} $(document).ready(function(){...});
如果你在document.ready
定义它,那么它的范围将限制在这个函数中。
只有你可以定义functionName()
何时从$(document).ready(
如
$(document).ready(function(){ function functionName() {...} // but in your case below function // is calling from body when its loaded functionName(); //from here you can call } );