0

我有一个奇怪的问题,如果我触发 .change 里面的代码 .change 执行 5 次,直到它跳回来。在调试时我可以看到它是如何在第 15 行和第 25 行之间跳转的。首先我想知道为什么$(this).addClass('teiedit');不将 teiedit 类添加到表单选择类中,其次为什么 .trigger 执行 .change 内的代码 5 次?

代码在 pastebin 上:http: //pastebin.com/u8xmQZXU

4

2 回答 2

0

I personnaly prefer watching events with data :

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

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

simple, effective, and not technical. Although namespacing is better.

于 2012-06-12T14:04:15.673 回答
0

attach 调用了多少次?您可能想尝试这样的事情来确保事件只绑定一次而不是 5 次:

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 回答