javascript - 返回不在函数中

标签 javascript firebug

Firebug 正在报告一个没有位置的“返回不在函数中”错误(好吧,第 1 行什么都没有)。我如何追踪此错误的来源?

return not in function
[Break on this error] return(0)
javascript:return... (line 1)

我在 Ubuntu 的 FF 2.0.0.20 上运行 FireBug 1.05。

我找到了一个有效的解决方案(针对此配置):

  var link = document.createElement('a');
  link.href='/';
  if (childSummary.more) {
    link.onclick = capture(function(id) { follow(id); }, childSummary.id);
  } else {
    link.onclick = capture(function(id) { show(id); }, childSummary.id);
  }
  link.appendChild(document.createTextNode(name));
  div.appendChild(link);

  [...]

 function capture(fn, val) {
   return function() { fn(val); return false; };
 }

代码处于循环中,其中 id 正在更改,因此需要捕获函数。

以前 href 是 'javascript: return 0' 并且捕获函数没有直接返回 false,而是使用 fn 的结果,并且当它返回 true 时有一个路径。正在评估导致错误的 href。

将 href 定义为“#”或“”会导致所有链接显示为已访问过。根本没有定义 href 导致没有链接突出显示。这看起来很简单。

最佳答案

我认为“javascript:return ...”很能说明问题。我相信您正在尝试在 anchor 的 href 属性中返回一个值,如下所示:

<a href="javascript: return false">Test</a>

Firebug 不告诉您位置的原因是因为它不在任何 JavaScript 中,而是在 DOM 的单行代码中。

关于javascript - 返回不在函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/795337/

相关文章:

javascript - 每个使用JS的API调用

javascript - 未捕获的类型错误 : Cannot read property 'top' of undefined

Javascript:如何将 Javascript 图像链接到页面?

html - iPad firebug lite 或类似软件

javascript - Firebug 网络监视器如何工作?

javascript - 使用ng-change时如何修改Angular js中的dom属性?

php - 如何使用 mootools1.2 将网页中的损坏图像替换为一些错误图像

javascript - firebug 报告对 undefined reference ... jquery.cache [id] [name]

javascript - 我的 onload 监听器似乎无法正常工作

javascript 在调试器中没有显示断线