当前位置:  开发笔记 > 编程语言 > 正文

返回不起作用

如何解决《返回不起作用》经验,为你挑选了1个好方法。

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导致没有链接突出显示.这似乎最简单.



1> Dan Lew..:

我认为"javascript:return ..."正在讲述.我相信你试图在href锚的属性中返回一个值,如下所示:

Test

Firebug没有告诉你这个位置的原因是因为它不在任何JavaScript中,而是在DOM中的单行.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有