0

この質問は前に尋ねられるかもしれません。しかし、私はエラーを見つけることができません。これは、新しいボストンのビデオ チュートリアルからのものです。

$(document).ready(function(){
$('#btn').toggle(function(){
    $('#msg').html('yes');
},function(){
    $('#msg').html('No');
});
});

最初にクリックするとdivテキストがyesになり次にnoが表示されることを示すビデオ なんで?この機能を実現する方法は他にもあるかもしれません。しかし、なぜこれが機能しないのですか。彼はトグルの構文を次のように示しています

$('#btn').toggle(function(){code},function{code});
4

1 に答える 1

12

http://api.jquery.com/category/deprecated/

注: このメソッド シグネチャは jQuery 1.8 で廃止され、jQuery 1.9 で削除されました。jQuery は、要素の可視性を切り替える .toggle() という名前のアニメーション メソッドも提供します。アニメーションまたはイベント メソッドが起動されるかどうかは、渡された引数のセットによって異なります。

http://api.jquery.com/toggle-event/

OPのコメント後に更新

デモ

このコードを任意のバージョンの jQuery で動作させたい場合

$(document).ready(function () {
    var arr = ['yes', 'no'],
        i = 0;
    $('#btn').click(function () {
        $('#msg').html(arr[i++ % 2]);
    });
});

デモ

toggle-event今後同様の機能を利用したい場合

.one()を使用

$(document).ready(function () {
    function handle1() {
        $('#msg').html('yes');
        $('#btn').one('click', handle2);
    }

    function handle2() {
        $('#msg').html('no');
        $('#btn').one('click', handle1);
    }
    $('#btn').one('click', handle1);
});

また

トグルはバージョン 1.9で削除されたため、使用できません。必要に応じて、このロジックを手動で実装するか、移行プラグインを利用できます。

移行プラグインを含めるには、jQuery ライブラリ追加を含めた後

<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>
于 2013-09-15T01:40:55.410 に答える