2010-10-13 40 views
0

繼我last question我需要在.live()功能添加爲我添加的內容動態jQuery的直播功能不能正常工作

這是我現在有

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

但這並不似乎現在工作

任何想法?

感謝

傑米

+0

除非你真的有很好的理由讓'$ this'成爲一個(隱式)全局變量,或者從一個包含範圍中使用它,那麼在匿名函數中在它前面添加一個'var'。除此之外,「每個」不是一個事件,詳情請參閱tandu的答案。 – 2010-10-13 11:39:59

+0

我很困惑你試圖綁定什麼樣的事件? – 2010-10-13 13:13:48

回答

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

我想你可能要替換 '$這一' 與 '變種的thisObject':

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

只能綁定事件處理程序與.live(),其中'每個'都不是。這應該工作:

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

不起作用http://www.jsfiddle.net/vn4g4/ – 2010-10-13 11:48:40

+0

嗯,這是一個艱難的。我不確定哪些處理程序可以使用。在click函數中,我將.ready()鏈接到.appentTo(),這似乎工作,但對我來說似乎很奇怪。 – 2010-10-13 12:01:43

-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); 
}); 

在這個示例中,我在click事件中使用了每個函數。

+0

-1這個答案真的很晚,並且正在使用不推薦使用的代碼。 – Chad 2012-09-24 15:40:45