2012-11-23 60 views
3

我在跨度元素中有一个经常变化的编号。我希望能够检测到此号码的任何变化并将该号码存储在变量中。jQuery监听跨度编号的变化

到目前为止,我已经试过这样:

var x = $('#mynum').text(); 

此代码然而,没有检测到任何的变化 - 它只是变得值时,第一次加载页面。

我也试过这样:

$('#mynum').bind('change',function(){ 

alert('wahoo!'); }); 

但是我不能让它甚至使警报。

什么是最好的方式来检测变化并将变量中的数字存储在变量中?

+1

什么使摆在首位的''变化的内容? –

+0

为什么没有改变数值的东西也会将该值存储在变量中? – Madbreaks

+0

谢谢,我真的不知道它是因为它使用JSON数据,但过了一段时间,我找到了一种方法将它存储到一个变量中... alienwebguy提供的答案几乎同样好..那里是另一种方法的好处吗? – gray

回答

5

更改事件只发生在窗体字段模糊的浏览器上。如果您要从脚本中更改跨度的值,则需要$('#mynum').trigger('change');。然后,你的绑定将工作,假设元素#mynum在绑定被设置时在DOM中。如果不是,绑定到一个一致的父元素,并与on委托它:

$('#myParentNode').on('change','#mynum', function() { 
    alert('wahooo!'); 
}); 
+0

OP表示该数字是“在跨度元素内”,而不是文本字段。 –

+0

谢谢,更新了我的措辞。 – AlienWebguy

+0

如果''内容发生变化,'change'事件将不会被触发......它仅适用于'','