0

同じ要素で onClick ハンドラを作成することは可能ですが、他の 2 つの呼び出しがありますか?

つまり:

ボタンをクリックするとアラートTRUEが表示され、もう一度クリックするとFALSEテキストアラートが表示されますが、もう一度クリックすると、最初にクリックしたときと同じように動作するはずです。TRUE、 もう1回。

jQueryでそれを行うことは可能ですか(もしそうなら-どのように)?

4

5 に答える 5

1

あなたが説明しているのは、古典的なトグルです。

JavaScript は次のようになります。

var toggle = false;
$(document).ready(function(){
    $("#clickme").click(function(){
        toggle = !toggle;
        alert(toggle);
    }); 
});​

このリンクで動作する JSFIDDLE の例を用意しました:

于 2012-09-14T20:30:41.317 に答える
0

このアプローチを試すことができます

​$(function() {
    var i =0;
    $('#btn1').on('click' , function() {
        if( i%2 == 0){
           alert(' TRUE !!');
        } 
        else{
           alert(' FALSE !!');
        }  
        i++;        
    });
});​

作業フィドル

于 2012-09-14T20:42:52.820 に答える
0
var flag = true;
$('#button').on('click', function() {
  if( flag ) {
    alert('TRUE');
  } else {
    alert('FLASE');
  }
  flag = !flag;
});

デモ

ノート

関数内ですべてのjQueryコードをラップし$(document).ready()ます。

于 2012-09-14T20:27:44.233 に答える
0

divでそれを行う方法は次のとおりです

<button id="clicker">Click Me</button>
<div id="true" style="display: none;">True!</div>
<div id="false" style="display: none;" class="firstTime">False!</div>​

内部ドキュメント準備完了:

​$("#clicker").click(function(){
    if ($("#false").hasClass("firstTime")){
        $("#false").removeClass("firstTime");
        $("#true").show();
    } else {
        $("#true").toggle();
        $("#false").toggle();
    }
});​​​​​​​

于 2012-09-14T21:00:22.043 に答える
0

これを見つけました:

$('#my-element').toggle(function(){
     alert("true");
}, function(){
     alert("false");
});
于 2012-09-14T21:01:23.310 に答える