2012-07-10 75 views
2

我似乎无法得到此正常工作。jquery cluetip动态元素

我正在写几个链接到DOM(通过json文件循环并附加到DOM),然后我需要这些元素来触发悬停的工具提示。

我没有在任何地方看到这种方法的一个很好的例子 - cluetip网站显示了一个简单的例子,然后寻找a和调用cluetip。我想一定有做这个.live或.delegate方式:

$("body").delegate("a.toolTip", "mouseover", function (event) { 

      $('a.toolTip').cluetip({ 
       showTitle: false, 
       attribute: 'title', 
       local: false 
       }); 

      event.preventDefault(); 

     }); 

但这并不触发第一鼠标悬停和我得到一个“对不起,内容不能被载入”

有什么建议吗?

谢谢

+0

你用'mouseenter'和'mouseleave'试过'.on()'吗? – 2012-07-10 20:25:42

回答

4

您需要重新触发mouseover事件。

$("body").delegate("a.toolTip", "mouseenter", function (event) { 
    $('a.toolTip').cluetip({ 
     showTitle: false, 
     attribute: 'title', 
     local: false 
    }).trigger("mouseenter"); 

    event.preventDefault(); 
}); 

其他鸡蛋里挑骨头的东西:

event.preventDefault()应该先 ,你应该防止插件被多次应用。

$("body").delegate("a.toolTip:not(.hasTooltip)", "mouseenter", function (event) { 

    $('a.toolTip').cluetip({ 
     showTitle: false, 
     attribute: 'title', 
     local: false 
    }).addClass("hasTooltip").trigger("mouseenter"); 
    event.preventDefault(); 
}); 

编辑:鼠标悬停应该已经了mouseenter和event.preventDefault真的应该是最后一次,因此如果它失败了,默认的提示仍然可以工作。

+0

定位起初很麻烦,内容仍然没有加载 - 虽然标题确实存在于链接中。 – Jason 2012-07-10 20:39:04

+0

@Jason看我的编辑,应该是mouseenter。 – 2012-07-10 20:50:57