2009-12-17 39 views
0

我想弄清楚爲什麼這段代碼不起作用。

我想要的只是簡單的事件委託來分配一個事件監聽器。

它只警報,它不動畫。 請讓我知道什麼是錯在這裏:

$(document).ready(function() { 
    var img = $("img"); 

$("span").click(function(e){ 
    var targetClicked = $(e.target).attr('class'); 
    //the alert works fine 
    alert(targetClicked) 

switch(targetClicked){ 
// i deleted the rest of the cases 
    case d:img.stop(false,true); 
    break; 
    case e:img.slideDown().animate({"width":200, height:200, opacity:0.4,}); 
    break; 
    //nothings works here as well 
    case f:alert("hi"); 
    break; 
} 
});   
}); 
+0

能否請您介紹瞭如何不工作? – 2009-12-17 21:41:14

回答

3

什麼是你switch聲明case條件de?你現在編寫代碼的方式是,它們被當作變量來處理,你的代碼可能會被「'd'未定義」錯誤炸燬。

如果你想在類名"d"和開關"e",那麼你需要使用類名稱作爲字符串:

switch (targetClicked) { 
    case "d": 
    //... 
    break; 
    case "e": 
    // ... 
    break; 
} 
+0

是的,這就是它。知道了謝謝。 – adardesign 2009-12-17 21:45:22

+1

+1 Danget ...我正在輸入一個類似的回覆,並從我的信用卡公司得到了一個電話= P – 2009-12-17 21:45:27

+0

哈哈,我無法計算我見過的那種令人害怕的次數「你輸掉了比賽」橫幅:P – Annabelle 2009-12-17 21:53:04