0

奇妙な問題があります。トリガーすると、.change内のコードがジャンプして戻るまで5回実行されます。デバッグ中に、15行目と25行目の間でどのようにジャンプするかを確認できます。まず$(this).addClass('teiedit');、フォーム選択クラスにteieditクラスを追加しない理由と、.triggerが.change内のコードを5回実行する理由を知りたいのですが。

コードはpastebinにあります:http://pastebin.com/u8xmQZXU

4

2 に答える 2

0

アタッチは何回呼び出されますか?次のようなことを試して、イベントが5回ではなく1回だけバインドされるようにすることができます。

var textarea = jQuery("#edit-body-und-0-value");
var grippie = textarea.parents('.resizable-textarea').find('.grippie');
var filter = jQuery('#edit-body-und-0-format--2');

$('.form-select').off();

// check if selection in text formats changes
$('.form-select').change(function() {
    ....
});

または、イベントの名前空間を試すことができます

于 2012-06-12T13:55:13.027 に答える
0

私は個人的にデータでイベントを見ることを好みます:

if(!$('.form-select').data('eventAttached')){
    $('.form-select').data('eventAttached',true);

    $('.form-select').change(function() {
        ....
    });
}

シンプルで効果的で、技術的ではありません。名前空間の方が優れていますが。

于 2012-06-12T14:04:15.673 に答える