Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fullcalendar自定义按钮单击可删除html元素_Javascript_Jquery_Fullcalendar 4 - Fatal编程技术网

Javascript fullcalendar自定义按钮单击可删除html元素

Javascript fullcalendar自定义按钮单击可删除html元素,javascript,jquery,fullcalendar-4,Javascript,Jquery,Fullcalendar 4,我有一个完整的日历网站,我使用customButtons选项添加两个按钮。我还使用jquery.apppend函数在标题中添加下拉列表和文本字段。当我单击自定义按钮时,我添加的下拉列表和文本字段消失。我找不到原因。有人能帮我解决这个问题吗 这是我自定义按钮的代码。它设置过滤器选项并更改按钮上的图标 customButtons: { filterButton: { text: '', click: function() { var newFilterResourcesWithEve

我有一个完整的日历网站,我使用customButtons选项添加两个按钮。我还使用jquery.apppend函数在标题中添加下拉列表和文本字段。当我单击自定义按钮时,我添加的下拉列表和文本字段消失。我找不到原因。有人能帮我解决这个问题吗

这是我自定义按钮的代码。它设置过滤器选项并更改按钮上的图标

customButtons: {
filterButton: {
  text: '',
  click: function() {
    var newFilterResourcesWithEvents = ! calendar.getOption('filterResourcesWithEvents');
    calendar.setOption('filterResourcesWithEvents', newFilterResourcesWithEvents);
    tekst();
  }
 }
},
但它也删除了这些元素。下拉列表和文本输入的附加代码为

$("#calendar .fc-resource-area .fc-widget-header .fc-cell-text").eq(0).append('<div class="form-inline"><div id="resourceddldiv"><select class="selectpicker" id="resourceddl" data-container="body"></select></div><input type="text" id="filter" placeholder="filter" size="15" style="margin-left:40px";></div>'); 
$(“#calendar.fc resource area.fc widget header.fc cell text”).eq(0).append(“”);
点击前 点击后

看起来您收到了回帖,而不是刷新页面上的JS。我不知道你把元素放在JS文件的什么地方。该按钮默认为submit,因此如果您不想进行回发,则需要防止该默认设置

event.preventDefault();

将此与按钮事件一起放置以停止回发,它不会刷新页面,导致您丢失这些元素。

我通过在自定义按钮的函数后再次添加元素来解决此问题。如果我使用event.preventDefault();该函数根本没有执行。由于整个表在函数之后再次呈现,因此唯一的解决方案是再次追加它。

谢谢。我在自定义按钮功能中尝试了您的建议,但结果仍然相同。元素将在日历渲染后立即追加。我试图在重新加载后再次附加它们,但没有效果。下面是一个示例,说明如何实现
preventDefault()
。如果你的元素因为点击按钮而消失,10次中有9次是因为你的回发,你的JS是如何安排回发的,等等。