2009-08-14 10 views
1

どのようにしてCLick上のビヘイビアを切り替えることができますか?ボタンをクリックすると、ボタンを赤色に変更します。私はもう一度クリックすると、それが青になるべきというようにクリック時の動作を切り替えます

答えて

3

使用.toggle

例えば

$("#inputId").toggle(
     function() { 
     $(this).addClass('someClass'); 
     }, 
     function() { 
     $(this).addClass('differentClass'); 
     } 
); 
+0

2番目の関数()の後のコンマは、一部のブラウザで構文エラーを引き起こします。 –

+0

@Ryan Berger yeahはそれが好きではない - 固定ty – redsquare

1

HTML:

<input id="MyButton" type="button" value="Click me" class="Color1" /> 

はJQuery:

0
<!-- To change this template, choose Tools | Templates and open the template in the editor. --> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title></title> 
    <script src="jquery/jquery.js" language="javascript" type="text/javascript"></script> 

    <script> 
    $(document).ready(function(){ 
     $("button").click(function() { 
     $('#blue').toggleClass("red"); 
     }); 
    }); 
    </script> 

    <style> 
    div { 
     margin:3px; 
     width:50px; 
     position:absolute; 
     height:50px; 
     left:10px; 
     top:30px; 
     background-color:yellow; 
    } 
    div.blue{ background-color: blue; } 
    div.red { background-color:red; } 
    </style> 

</head> 
<body> 

    <button>Start</button> 

    <div id="blue"></div> 

</body> 
</html> 
+0

なぜ、e.targetや 'this'を使ってボタンに設定するのではなく、DOMで別のdivを選択しているのですか? – StuperUser

関連する問題