奇妙な問題があります。トリガーすると、.change内のコードがジャンプして戻るまで5回実行されます。デバッグ中に、15行目と25行目の間でどのようにジャンプするかを確認できます。まず$(this).addClass('teiedit');
、フォーム選択クラスにteieditクラスを追加しない理由と、.triggerが.change内のコードを5回実行する理由を知りたいのですが。
コードはpastebinにあります:http://pastebin.com/u8xmQZXU
奇妙な問題があります。トリガーすると、.change内のコードがジャンプして戻るまで5回実行されます。デバッグ中に、15行目と25行目の間でどのようにジャンプするかを確認できます。まず$(this).addClass('teiedit');
、フォーム選択クラスにteieditクラスを追加しない理由と、.triggerが.change内のコードを5回実行する理由を知りたいのですが。
コードはpastebinにあります:http://pastebin.com/u8xmQZXU
アタッチは何回呼び出されますか?次のようなことを試して、イベントが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() {
....
});
または、イベントの名前空間を試すことができます
私は個人的にデータでイベントを見ることを好みます:
if(!$('.form-select').data('eventAttached')){
$('.form-select').data('eventAttached',true);
$('.form-select').change(function() {
....
});
}
シンプルで効果的で、技術的ではありません。名前空間の方が優れていますが。