2011-05-29 73 views
0

如何打印所有信息用于Dojo中的Mouseevent对象。我试过这个:如何在Dojo中打印对象

myObject = { 
    id: "myObject", onClick: function(evt) { 
    dojo.byId("objectPrint").innerHTML = dojo.toJson(evt); 
    } 
}; 

我有一个div容器,它有id objectPrint。但它不起作用。

+0

'不起作用'对我们没有帮助。什么是错误? – 2011-05-29 14:48:35

+0

在萤火虫上出现错误讯息“无法序列化DOM节点”。 – Haniball 2011-05-29 14:51:35

+0

@Haniball:什么?老兄,别让我为你工作。 – 2011-05-29 14:53:18

回答

1

也许你应该使用innerText而不是innerHTML这需要一个有效的HTML格式的文本字符串?你的HTML不是有效的 - 它是JSON。

对于FireFox,您需要使用textContent

DOM事件对象包含指向DOM节点的target属性。 dojo.toJson()用于序列化JavaScript哈希对象,并且不能用它来序列化DOM节点。

你或许应该按顺序建立自己的散列对象dojo.toJson()来看看事件对象:

... = dojo.toJson({ 
      target: evt.target.id, 
      clientX: evt.clientX, 
      clientY: evt.clientY, 
       : 
     }); 

然而,这是doint它的一个非常令人费解的方式。最好使用console.log