我有一个事件,选择在我的bootstrap html编辑器中添加正确的文本值。问题是,每次有一个选择html工具栏被添加,所以我有很多工具栏。我想在创作之前摧毁,但我真的不知道如何。代码看起来如下
$('a.open_dialog').click(function(e) {
e.preventDefault();
var tabsDiv=$('<div />').appendTo('body').load($(this).attr('href'),function(){
$('#tabs').tabs();
$('select#state').live('change',function() {
$('.textarea').empty().wysihtml5().data("wysihtml5").editor.setValue(getCustomText($('select#state').val()));
});
$( "#datepicker" ).datepicker();
})
.dialog({
title: $(this).attr('title'),
modal: true,
draggable: false,
width: 800,
position: 'top',
buttons: {
"Speichern": function() {
open: { $(this).addClass('b') }
$.ajax({
type: "POST",
url: 'action.php',
data: $("#edit_form").serialize(), // serializes the form's elements.
success: function(data)
{
alert('Der Datensatz wurde gespeichert!'); // show response from the php script.
},
error:function(){
alert('Es gibt ein Fehler bei Daten übetragung!');
}
});
},
"Email schicken": function() {
$.ajax({
type: "POST",
url: 'mailer.php',
data: $("#contactform").serialize(), // serializes the form's elements.
success: function(data)
{
alert('Das Email wurde geschickt!'); // show response from the php script.
},
error:function(){
alert('Es gibt ein Fehler bei Daten übetragung!');
}
});
},
"Rechnung herunterladen":function() {
$.ajax({
type: "POST",
url: 'docsx.php',
data: $("#edit_form").serialize(), // serializes the form's elements.
success: function(data)
{
window.location.href ='rechnung.docx'; // show response from the php script.
},
error:function(){
alert('Es gibt ein Fehler bei Daten übetragung!');
}
});
}
},
close: function() {
tabsDiv.remove() // so I can reload again
location.reload(true);
// allFields.val( "" ).removeClass( "ui-state-error" );
},
});
return false;
});
答案 0 :(得分:2)
试试这个
在文档中查看是否有删除工具栏的destroy方法.. 您还可以采取一种方法,完全删除内容并再次添加内容并重新分配工具栏。
<强>已更新强>
为什么你将更改事件嵌套在click事件中..如果你这样做,那么每次打开对话框时都会有一个新的更改事件与它相关联。尝试将其移出 click事件..还要确保使用.on()
委派事件尝试取消绑定并分配事件..我们不应该解绑和反复绑定,因为它是反模式..但检查是否有效
$('select#state').unbind().live('change', function() {
$('.textarea').empty().wysihtml5().data("wysihtml5").editor
.setValue(getCustomText($('select#state').val()));
});