jQuery live函数不能正常工作

时间:2010-10-13 11:28:52

标签: jquery function live

继我的last question之后,我需要添加.live()功能,因为我正在动态添加内容

这就是我现在所拥有的

$('.PointsToggle').live('each',function() {
              $this = $(this);
              if ($this.text() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
                $this.width(510);
              } else {
                $this.width(20);
              }
            })

但现在这似乎不起作用

有什么想法吗?

由于

杰米

4 个答案:

答案 0 :(得分:1)

您只能将事件处理程序与.live()绑定,而“每个”不是。这应该有效:

$('.PointsToggle').live('load', function () { $(this).each(function () { ... }); });

答案 1 :(得分:1)

对于这类事情,你需要livequery plugin

$('.PointsToggle').livequery(function() {
  var $this = $(this);
  if ($this.text() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
    $this.width(510);
   } else {
    $this.width(20);
   }
})

答案 2 :(得分:-2)

我想你可能想用'var thisObject'代替'$ this':

$('.PointsToggle').live('each',function() {
          var thisObject = $(this);
          if (thisObject.text() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
            thisObject.width(510);
          } else {
            thisObject.width(20);
          }
        })

答案 3 :(得分:-2)

您可以在点击事件中使用每种方法,这意味着您可以在此类事件的正文中使用此方法

$("#Prefactor_save").live('click', function () {
    var tmp = "";
    alert(tmp);
    $("#factor_tb td").each(function () {
        tmp += $(this).val() + ",";
    });
    $("#factor_tb selected:option").each(function () {
        tmp += $(this).text() + ",";
    });
    alert(tmp);
}); 

在此示例中,我在单击事件中使用每个函数。