我有以下的JS對象:Javascript成爲獲得一個對象的屬性,點擊存儲在對象內陣列的圖像,HTML5的Canvas
var sources = {
assets: [],
liabilities: [],
income: [],
expenditure: []
}
,你可以看到,這個對象包含一些JS數組。我在我的HTML增加了許多圖像從一個隱藏的部分,這些陣列使用線路如:
sources.assets[0] = document.getElementById("building").src,
sources.assets[1] = document.getElementById("chair").src,
sources.liabilities[0] = document.getElementById("burger").src,
sources.liabilities[1] = document.getElementById("chips").src,
我現在希望能夠做的是:當檢測到點擊(或mousedown
)時在畫布上的這些圖像中的一個上,我想找出該圖像屬於哪個數組,並將該數組的值(即數組名稱 - 資產/負債等)保存到變量中。
但我不知道我怎樣才能找到這一點...我想,當一個檢測到點擊打印圖像的屬性的內容,使用線路:
console.log("value of variable obj:" + output + ". Shape is " + obj.shape + ". index is " + obj.shape.index);
但這只是給了我下面的打印輸出在控制檯控制檯
value of variable obj:shape: [object Object]; pixel: [object Uint8ClampedArray]; . Shape is [object Object]. index is 7
。
我使用KineticJS庫的本地副本將圖像繪製在畫布上,我知道該變量obj
是一個在kineticJS庫mousedown
函數中使用。
用戶需要將每個「可拖動」圖像拖動到相應的描述框(位於畫布上)。
我想知道的是我如何知道被點擊的圖像屬於哪個數組,以便我可以將該數組的名稱與用戶拖動的圖像的名稱進行比較'點擊'圖像爲:如果它們相同,則用戶已將圖像拖動到正確的描述框,否則,他們做出了不正確的選擇。
有誰知道我該如何找出點擊圖片屬於哪個數組?
請記錄'output'和'obj',以便我們可以看到它們擁有哪些屬性,它們的字符串不會幫助我們。 – Bergi 2013-03-13 17:32:57
這就是我所做的......'output'的日誌顯示'shape:[object Object];像素:[object Uint8ClampedArray];','obj'的日誌顯示'[object Object]'... – someone2088 2013-03-13 18:17:58
不,請重新閱讀我的評論。使用'console.dir'或'console.log(output,obj)'並展開屬性! – Bergi 2013-03-13 19:55:24