【问题标题】:binding javascript to dynamically created anchor element将javascript绑定到动态创建的锚元素
【发布时间】:2011-10-08 21:46:19
【问题描述】:

我正在尝试将 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脚本的方法,但我似乎无法找出是否可行。

谢谢,

弗兰克

【问题讨论】:

    标签: ajax post call datatables qtip


    【解决方案1】:

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

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

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

    【讨论】:

    【解决方案2】:

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

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

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

    },事件); });

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      • 2014-10-15
      • 2016-08-13
      • 2013-11-20
      • 2013-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多