javascript - 使用全局变量从 Javascript 中的同一函数调用函数

标签 javascript function

我正在制作一个 XML 驱动的主页。生成菜单结构,当单击菜单元素时,页面上的内容会发生变化。单击级别 x 元素时,其子元素将显示在主 div 的列表中。这是通过函数 changePage(id) 完成的,该函数将 id 作为参数来查找正确的 XML 节点以获取信息。

我希望这个列表元素是链接,当点击它们时应该调用 changePage-function。这用于在树中向下移动。

var root = loadXML(aXML.xml);

function changePage(id){
var current_node = root;  // <-- here I get error when clicking on the a-element.
... // creating list
var aElement = document.createElement('a');
aElement.onclick = new Function("changePage('" + index + "')");
}

当我点击我的菜单项时,一切正常,但是当我点击生成的列表元素时,我收到“current_node is not defined”错误。好像点击child找不到root-variable。

出了什么问题,我该怎么做才能解决这个问题?

最佳答案

嗨,从你所拥有的,你正在用新功能杀死浏览器(覆盖旧功能)

代替:

 aElement.onclick = new Function("changePage('" + index + "')");

你可以使用:

 aElement.onclick = arguments.callee(index);

“arguments”是 js 中的关键字,包含一个对象,其中包含传递给函数的所有参数(即 arguments[0]),还包含“callee”(函数本身)和“caller”(从中调用的函数)叫做 )。第二个(调用者)不是跨浏览器的。

最好的问候,

关于javascript - 使用全局变量从 Javascript 中的同一函数调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7305072/

相关文章:

javascript - 如何在 p5.js 中管理多测验游戏的多个屏幕?

javascript - 如何通过函数调用查找 JavaScript 变量的传递用法?

javascript - 在 JavaScript 中以字符串形式返回函数

javascript - jQuery 在排序后选择了一个选项

javascript - 触摸/单击和输入事件监听器不会触发 iOS

function - 生成局部变量(作为常量)时出错

function - 在 Clojure 中传递方法名称以进行评估的惯用方法?

C 函数获取文件名并传递给菜单驱动程序中的凯撒密码函数

javascript - 设置复选框选择的可变限制

javascript - 无法从 Chrome 中的 webworker 内部创建 Web Worker