0

フルタイムの jQuery や Javascript の開発者ではないので、ばかげた質問で申し訳ありません。どの値がセレクターに関連付けられているかを処理するために行うクラスのスワッピングには、ライブ関数のようなものが必要だと思います。

基本的に、次のようなマークアップがあります。

無効にする場合:

<span id="enable-1695" data-id="1695" class="unenable-item">unenable</span>

有効にするため:

<span id="enable-1695" data-id="1695" class="enable-item">enable</span>

unenable をクリックした後、toggleClass を使用して enable-item に更新したいと思います。また、ランタイムをこれらの新しい値に更新するには、セレクターが必要です。これは以前はライブ方式で行われていたと思います。どうすればこれを達成できますか。現在手動で行っていますが、Javascript ランタイムがイベント処理を正しく更新しません。

これが正しく機能することを確認するには、どの JavaScript を使用しますか?

どんな助けでも大歓迎です。

どうも

4

1 に答える 1

0

まず、ここではおそらく「無効にする」という言葉を選ぶ方が適切かもしれませんが、ここでは文法をいじくりまわすつもりはありません...

「無効」リンクをクリックすると、「有効」リンクに変わるはずです。

$('.unenable-item').live('click', function () {
    $(this)
        .removeClass('unenable-item')
        .addClass('enable-item')
        .text('enable');
    doSomethingWith($(this).data('id'));
});
$('.enable-item').live('click', function () {
    // the inverse of the above
});

ここでは、セレクターによって選択されたオブジェクトにイベントハンドラーを実際にアタッチしないことを除いて、liveちょっと似ている関数.onまたはその非推奨のエイリアスを使用しました。.bind代わりに、ハンドラーをドキュメントにアタッチし、何かをクリックするたびに、セレクターをチェックして一致するかどうかを確認します。.delegateよりターゲットを絞ったマッチングにも使用できます。これらのことについてのより良い説明は、ドキュメント (リンク) にあります。

于 2012-04-10T22:46:58.533 に答える