2012-02-28 58 views
0

我剛剛創建了一個使用html5和JavaScript的示例網格應用程序。將事件偵聽器添加到metro風格的網格應用程序?

現在我想達到什麼是給一些動畫當組頭用戶點擊。

對於我寫了兩個功能。一個用於鼠標按下事件,一個用於鼠標擡起事件:

function animateDown() { 
    WinJS.UI.Animation.pointerDown(this); 
} 
function animateUp() { 
    WinJS.UI.Animation.pointerUp(this); 
} 

現在我想添加這些功能給事件偵聽器爲每個標題。有許多組頭,他們沒有任何ID,只是類名。

所以,我怎麼能添加一個事件偵聽所有的標題?

回答

1

您需要使用事件代表團。因此,如果所有的元素都在一個容器中,你可以這樣做:

function toggle(event) { 
    var header = event.target; 
    if (header.classList.toggle("open") { 
     WinJS.UI.Animation.pointerDown(header); 
    } else { 
     WinJS.UI.Animation.pointerDown(header); 
    } 
} 

document.querySelectorAll(".container").addEventListener("click", toggle, false); 
+0

thanks :)。它似乎是更直接的方式..但在哪個頁面我會給這個代碼?我試着給這groupeditempage.js ..但它不工作 – 2012-02-28 12:22:44

+0

我試着給許多地方的代碼..但所有的時間容器只包含基本的HTML(意味着winjs控制declerations)即使我交給的各項值 – 2012-02-28 12:31:40

+0

根據到http://msdn.microsoft.com/en-us/library/windows/apps/br212680.aspx你可以通過一個集合來'pointerDown'所以也許你可以做'WinJS.UI.Animation.pointerDown(document.querySelectorAll (「.header」))'如果每個標題都有一個標題類。 – slashnick 2012-02-28 12:41:01

相關問題