检测ul列表内容更改jQuery

时间:2017-09-13 21:51:34

标签: javascript jquery html backbone.js

我们有一个id#some-list的无序列表。在我们的Backbone实现中,当返回某些数据时,将呈现列表条目并将其附加到列表中并显示列表。

我们希望使用JQuery检测何时完成此类更改。我们使用了$(#some-list).ready()$(#some-list).load(),但看起来它们不起作用。

有哪些方法可以捕捉到这种变化?谁能在这里点灯?

2 个答案:

答案 0 :(得分:1)

嗯,你没有发布任何代码,所以很难看出你失败的地方 但总的来说,我要做的是在ajax回调上触发自定义事件(你确实使用ajax获取内容并将其附加到列表中吗?)。

例如:

loadData(){
  // invoke the ajax request
  var def = $.get(...);
  def.then(function(result){
    // $(#ul) append(result) ...  
    // now trigger the custom event  
    $(document).trigger('listRendred');
  });
}

现在,您可以在不同的地方或脚本上收听它:

$(document).on('listRendred', function(e){ // do what ever... })

答案 1 :(得分:1)

由于您使用的是BackboneJS,您可以尝试收听其事件。

要找出可以使用的事件,请尝试以下代码(首先替换我的*占位符)并查看浏览器的控制台。

&q

之后只需使用

收听事件
*backboneobject*.on("all", function(e) {
  console.log(e)
});