javascript - 如何在jquery中动态初始化组件到输入字段

标签 javascript jquery ajax twitter-bootstrap

我需要将自定义日期选择器添加到我的输入字段。输入字段作为通过 ajax 加载的表单的一部分加载。每次表单更新都是通过ajax 进行的。我已尝试绑定(bind)更改,如下面的代码片段所示:

$('form').on('mouseover','.date_picker', function() {

      $('.date_picker').datepicker({'format' : 'mm/dd/yyyy'});
 }) 

mouseover 事件的问题在于它触发得太频繁,并且可能不是使用触摸设备的最佳方式。

因此,如果我尝试添加优化以确保仅调用 datepicker 一次,并且在我执行 ajax 更新之前一切正常。

var firstTime = true;
$('form').on('mouseover','.date_picker', function() {

      if(firstTime){
          $('.date_picker').datepicker({'format' : 'mm/dd/yyyy'});
          firstTime = false;
      }


 }) 

将事物绑定(bind)到通过 ajax 加载的元素而不依赖于在 ajax 回调中设置事物的正确方法是什么?

最佳答案

我认为你应该将 firstime 的值更改回零:

$.ajax({
   /*

   */
   .success : function(){
     firstime = 0;
   }
});

当然,如果 firsttime 足够全局,可以被 $.ajaxmouseover 识别,那么上述解决方案就可以工作。

编辑:

您可以设置一个全局 AJAX 事件处理程序,以便在该页面中成功发送 ajax 请求时触发一个函数。您可以向其添加条件以适合您的应用程序。

$.ajaxSuccess({
  success : function(){
    changeBackToValue(); // custom function
}
});

或者您可以将其附加到表单的容器中:

$("#form-container").ajaxSuccess({...});

关于javascript - 如何在jquery中动态初始化组件到输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24774341/

相关文章:

javascript - 为什么 RequireJs 传递的是 Null?

javascript - jQuery:如何在父容器中创建一个粘性侧边栏?

javascript - 尝试确定 select 是否选择了值时出现语法错误

javascript - 使用 jQuery 更改字符串的一部分

ruby-on-rails - 使用关注/取消关注按钮对用户进行分页 : Ajax runs into problems because of duplicate class names

jQuery ajax()/post() & 成功

javascript - Chrome 浏览器格式化日期并删除 T 和时间为零时的时间其他答案不起作用

javascript - Angular 指令模板和子指令包含

javascript - Ajax 测试(wordpress)

javascript - 如何缩放背景图像并使其与浏览器大小一起使用