将javascript绑定到动态创建的锚元素

时间:2011-07-19 21:03:07

标签: ajax post call datatables qtip

我正在尝试将jquery.qtip用于jquery.datatables中的锚元素。

基本上它的工作原理是在锚元素上,我将一个tooltip =“tooltip desc”放到锚元素上。

在js文件中,我提出以下内容:

$('.simpletable a[tooltip]').each(function()

{

  $(this).qtip({

    content: $(this).attr('tooltip'),

    style: 'dark'

  });

});

它适用于常规数据表,但当源是ajax时,它会停止工作。我猜这是因为一旦dom准备就绪,qtip就会被锚元素绑定。然而,当时,ajax dom还没有准备好。因此,具有ajax源的数据表不会被绑定到qtip。

有没有办法解决这个问题? 我一直试图在ajax调用完成后找到一个调用上面的js脚本的方法,但我似乎无法找出它是否可能。

谢谢,

2 个答案:

答案 0 :(得分:3)

感谢AlienWebguy,我了解了直播。他的答案没有立即起作用(也许是不同的qtip版本?)所以对于qtip2日期:2011年7月20日星期三11:31:55 PDT 2011,以下为我工作:

  

$('。simpletable a [title]')。live('mouseover',function(event){             $(本).qtip({

overwrite: false,
show: {
  event: event.type,
  ready: true
}   
     

},event);   });

非常感谢AlienWebguy!你不知道我多么感谢你的帮助!!

答案 1 :(得分:2)

使用面向未来的绑定观察器,例如live()delegate():“为现在和将来与当前选择器匹配的所有元素附加事件的处理程序。”

$('.simpletable a[tooltip]').each(function()
{
  $(this).live('qtip',function({
    content: $(this).attr('tooltip'),

    style: 'dark'

  });
});

http://api.jquery.com/live/