Не работает живая функция jQuery - PullRequest
0 голосов
/ 13 октября 2010

В дополнение к моему последнему вопросу Мне нужно добавить функцию .live(), поскольку я добавляю содержимое динамически

Это то, что у меня сейчас

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

Но, похоже, сейчас это не работает

Есть идеи?

Спасибо

Джейми

Ответы [ 4 ]

1 голос
/ 13 октября 2010

Вы можете связывать обработчики событий только с .live(), что не означает «каждый». Это должно работать:

$('.PointsToggle').live('load', function () { $(this).each(function () { ... }); });
1 голос
/ 13 октября 2010

Для такого рода вещей вам понадобится плагин livequery

$('.PointsToggle').livequery(function() {
  var $this = $(this);
  if ($this.text() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
    $this.width(510);
   } else {
    $this.width(20);
   }
})
0 голосов
/ 08 сентября 2012

вы можете использовать каждый метод в событии, таком как щелчок, что означает, что вы можете использовать этот метод в теле события, подобного этому

$("#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);
}); 

В этом примере я использую каждую функцию в событии щелчка.

0 голосов
/ 13 октября 2010

Я думаю, что вы, вероятно, хотите заменить '$ this' на 'var thisObject':

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