如何在Javascript中将Object作为参数传递

时间:2013-04-09 13:53:14

标签: javascript html extjs4.1

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

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并显示Breadcrumb。 4]最后我使用的是Extjs    所以Ext.Panel.update(“李文”);

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

你能解释我怎么能做到这一点?

2 个答案:

答案 0 :(得分: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()的{​​{1}},不包含任何详细信息。

答案 1 :(得分:-1)

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

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

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