1

我想在函数中传递对象。这是我的代码

var hyperLinkObj = new Object();
hyperLinkObj.path="abc";
hyperLinkObj.text="abctext";

'<li><a href="#" onclick="onItemClick(hyperLinkObj)">'+description+'</a></li>'

在这里我正在创建名为“hyperLinkObj”的对象现在我正在创建“li”标签并将超链接放入 li 现在当我检查时我得到类似

'<li><a href="#" onclick="onItemClick([object Object])">'+description+'</a></li>'

那么如何传递 hyperLinkObject ,就像在 onItemClick 中一样,我在这个对象上做了很多事情。

看到其实我想做这样的事情。

1]有一个对象有很多类别所以想循环遍历它。2] 然后在每个类别项目上单击想用 hyperLinkObj 调用 OnItemClcik 3] 然后在 Hyperlink 上单击,想要执行诸如获取 Hyperlink.path 之类的操作并显示面包屑。4]最后我使用的是Extjs所以Ext.Panel.update("Li text");

可能是我没有提到 ExtJs.update.. 它没有按照你的建议工作..

你能解释一下我怎样才能做到这一点?

4

2 回答 2

2

放到hyperLinkObj全局范围内,在onclick中引用。

hyperLinkObj = new Object();
hyperLinkObj.path="abc";
hyperLinkObj.text="abctext";
Ext.Panel.update('<li><a href="#" onclick=\'onItemClick({path:"'+hyperLinkObj.path+'",text:"'+hyperLinkObj.text+'"})\'>'+description+'</a></li>')

[object Object]是 的toString()Object()并且不包含任何细节。

于 2013-04-09T13:59:27.753 回答
-1

为复杂的点击功能使用绑定事件:

document.getElementById('anchorID').onclick=function(){/* some code */}

这对你来说会更容易。看看这个小提琴:http: //jsfiddle.net/anurag/amedr/

于 2013-04-09T13:58:45.327 回答