【发布时间】:2010-07-07 15:41:31
【问题描述】:
我正在使用 jQuery Tools 工具提示插件,该插件使用 $('selector').tooltip() 初始化。我想在任何当前或未来的.tooltipper 元素上调用它。我认为以下方法可行:
$('.tooltipper').live('ready', function(){
$(this).tooltip()
}
但它没有成功——ready 事件没有触发。负载也一样。我读过 livequery 可以产生我正在寻找的结果,但肯定有一种方法可以使用 jQuery .live() 来实现它,考虑到文档说它适用于所有 jQuery 事件,我相信ready 是一个。
【问题讨论】:
-
如果元素已经存在,为什么要使用
.live()?我认为您最好尝试将其绑定到可能创建新selector的事件。不是直接的答案,但在ready上使用.live()似乎是一种霰弹枪方法。只是我的 0.02 美元。 -
我是这样想的。某些元素应始终表现出某些行为。例如,具有
href属性的链接在单击时应始终将您带到一个 URL。大多数具有title属性的元素应该在鼠标悬停时将参数显示为工具提示。只有对我来说,将这种功能用于高阶行为才有意义,例如自定义工具提示。 -
我最终只使用了
$('.tooltipper').livequery(function(){$(this).tooltip()}),这对我来说最符合语义(与下一个最佳解决方案相反,即向创建工具提示元素的函数添加回调)工具提示行为与元素相关联——它与创建它的过程无关。 -
Steven - 所有帐户的有效积分。 +1 提供全面的信息性问题和答案。
标签: dom jquery jquery-tools