2011-05-29 74 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