2011-03-15 24 views
1

當我點擊消息按鈕時,它不會調用alert()..可以有人檢查代碼嗎?按鈕不調用alert()

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Homepage</title> 
    <script type="text/javascript" src="lib/jquery/jquery-1.4.2.js"></script> 
    <script type="text/javascript" src="lib/jquery/jquery-ui-1.8.10.custom.min.js"></script> 
    <script type="text/javascript" src="lib/jquery/jquery.dmDropDownMenu.js"></script> 
    <script type="text/javascript" src="lib/jquery/watermark.js"></script> 

    <link rel="stylesheet" type="text/css" href="/jquery-ui-1.8.10.custom.css" /> 
    <link rel="stylesheet" type="text/css" href="/stylez.css" /> 
    <script type="text/javascript" /> $(document).ready(function(){ $('#buttons button').click(function(){ switch($('buttons').id){ case "mail": alert(1); break; } }); }); </script> 
</head> 

<body> 
    <table width="1000" border="0" cellpadding="0" cellspacing="0"> 
     <tr> 
      <td id="columnA">  
       <div id="buttons"> 
        <button id="mail" class="menubutton">Message</button><br/> 
       </div> 
      </td> 
     </tr> 
    </table>  
</body> 

</html> 

回答

2

如果你想檢查被點擊該按鈕,你將會有多個按鈕,你可以使用$(this).click() ,它將引用被點擊的對象THE。因此,改變開關:

switch($(this).attr('id')) { 

完整很多:

$('#buttons button').click(function(){ 
    switch($(this).attr('id')){ 
     case "mail": 
      alert(1); 
     break; 
    } 
}); 

見工作demo here

2

變化

$('buttons').id 

到:

$('buttons').get(0).id 
+2

或者只是'$( '按鈕')[0] .id'。 – 2011-03-15 00:33:44