我有一个奇怪的问题,如果我触发。更改里面的代码.change执行5次,直到它跳回来。在调试时,我可以看到它是如何在第15行和第25行之间跳转的。首先,我想知道为什么$(this).addClass('teiedit');
没有将类teiedit添加到表单选择类,第二个为什么.trigger执行内部代码。改变5次?
代码在pastebin上:http://pastebin.com/u8xmQZXU
答案 0 :(得分:0)
连接多少次?你可能想尝试这样的事情来确保事件只被绑定一次而不是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() {
....
});
或者您可以尝试namespacing您的活动
答案 1 :(得分:0)
我个人更喜欢用数据观看事件:
if(!$('.form-select').data('eventAttached')){
$('.form-select').data('eventAttached',true);
$('.form-select').change(function() {
....
});
}
简单,有效,而非技术性。虽然命名空间更好。