javascript - 如何对通过 ajax 添加到页面的元素执行 jQuery 方法?

标签 javascript jquery ruby-on-rails coffeescript twitter-bootstrap

我正在通过 jQuery 通过 AJAX 请求将表单插入到 DOM 中。我正在使用 Twitter Bootstrap 框架提供的 typeahead jQuery 功能进行实时搜索,我想在 input 时将它附加到输入字段。元素进入 DOM。为此,我需要调用 typeahead输入字段上的方法,但我无法弄清楚如何实现这一点(初始页面加载除外)。

我如何监听要添加到 DOM 的输入字段并在那时对它们调用 jQuery 方法?

更新

我的问题不够具体。我想知道如何将每个元素加载到 DOM 时只调用一次 jQuery 方法。因为它是 <input />标记,我决定每次在该项目上出现焦点事件时调用该方法。

$("#your_div").on "focus", "input[name='your_name_here']", (event) ->
  $(this).typeahead
    source: ...

这行得通,但是当它真的只需要在加载元素时被调用时,它会在每个焦点上被调用。

最佳答案

使用 jQuery 中的 $.live() 函数。我也有这个问题,但有点困惑。这是它可能如何工作的示例
EDIT $.live() 已过时,我已经编辑了我的答案,感谢下面的评论之一使用更新的 $.on()函数。

$("div").on("form.html",function(data){
    //Blah Blah
    });
});
$(function(){
    ("divthatloaded").on("listener",function(){ //By listener I mean click, hover, mouseon, etc...
    //Does stuff to it...
    });
});

真的,只需将 $.on 与适当的监听器/回调一起使用即可使用由 ajax 加载的 div

关于javascript - 如何对通过 ajax 添加到页面的元素执行 jQuery 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669348/

相关文章:

javascript - 如何使用 gulp.js 从内存中的字符串生成 SCSS 文件?

javascript - 从列表javascript向表添加行

ruby-on-rails - has_many :through Association, NoMethodError( `each' 的未定义方法 "":String)并保存关联

ruby-on-rails - 如何在现有的 Rails 应用程序中使用 'Typo' gem,现在它作为单独的博客引擎运行?

javascript - 如何测试是否有多个小数点?

javascript - window.load文件读取不运行

javascript - 以编程方式使用 Angular JS 清空缓存和硬重置

jquery - 如何使所有浏览器右侧的正文滚动条时尚?

javascript - jquery each 使用 "where clause"迭代复杂的 JSON 结构

ruby-on-rails - 如何使用 Rails、Omniauth 和 Rspec 测试 Facebook 登录操作