【发布时间】:2013-01-31 22:16:24
【问题描述】:
我正在尝试这样做:
<script>
var MyItem;
MyItem = new myobj('testobj');
function myobj(id)
{
var _id = id;
this.toggle = function()
{
...
}
function draw()
{
document.body.innerHTML += "<a onclick='" + MyItem + ".toggle();'>link</a>";
}
draw();
}
</script>
我得到“函数未定义”,但可以从控制台成功调用 MyItem.toggle()。我也试过:
document.body.innerHTML += "<a onclick='(function(){" + MyItem + ".toggle();})()'>link</a>";
锚点必须在 javascript 中动态创建。如何从动态创建的锚点调用 MyItem 对象方法 toggle()?
ps,我是凭记忆输入js,如有语法错误,敬请见谅。
【问题讨论】:
-
你正在输出一个字符串;这是没有意义的。您需要在该字符串中输出变量的名称......如果这确实是您想要这样做的方式。
-
你是对的。应该是 ... _id + '.toggle()' ... ID 始终 = obj 实例名称。
标签: javascript object dynamic onclick invoke