javascript - 动态 DOM 创建问题

标签 javascript jquery css

函数不会附加到新创建的输入框。 请在此链接上检查我的代码

[请检查此代码][1]

$("#datepicker").datepicker();


$("button").click(function(){
  
  $(".add").html('<input id="datepicker" placeholder="click here to open calendar " type="text" />');
  

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='add'><input id="datepicker" placeholder="click here to open calendar " type="text" /></div>
<button>Add input again </button>

depen.io/anon/pen/adLzi

最佳答案

当您点击按钮时,这是正在执行的代码:

$("button").click(function(){
    $(".add").html('<input id="datepicker" placeholder="click here to open calendar " type="text"   />');
});

这样做的目的是用一个新的日期选择器替换日期选择器。没有错,只是附加的事件在重新附加它时出现问题。

TL:DR,使用这段代码:

$("button").click(function(){
   var el = $('#datepicker');
  $.datepicker._clearDate(el);
});

编辑

即使我不知道发生这种情况的确切原因,但这可能是因为在内部,jquery UI 没有前一个 DOM 元素的链接,它被挂起。这也会导致内存泄漏。

关于javascript - 动态 DOM 创建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117990/

相关文章:

html - 在可滚动的 div 中使用框阴影

javascript - 使用meteor在body中添加按钮并从JS函数中获取值

Javascript 图像重新加载;闪烁

java - 如何显示/隐藏 jsf 组件

jquery - 使用 Jquery 设置 Kendo Grid POPUP 编辑器值

html - 如何实现我的 Bootstrap 导航设计?

javascript - 在 javascript 中编写带条件的展开运算符的更好方法

javascript - AJAX调用后返回函数内容

javascript - 仅在 IE8 中使用 jQuery 时出现 "Object expected"错误

javascript - 调整图像大小以预设纵横比