0

我有一个工具提示插件(tooltip.js & tooltip.css)。此工具提示的要求是在 SPAN 或 DIV 元素中,您需要同时拥有 rel='tooltip' 和 title='' - 然后工具提示插件将启动工具提示。

问题是我正在向具有这些属性的页面添加 DOM HTML 元素,但它们不起作用。它们最初可以工作,但是当我添加 dom 元素时,这些 DOM 元素停止工作。

仅供参考,我正在使用(Jquery mobile 1.3.1 和 jQuery 1.9.1)

HTML

<table id='maintable'>

</table>

JAVASCRIPT

//function initiates with this stuff
var part1 = "<tr><td rel='tooltip' title='new title'>Something</td></tr>";
$('#maintable').append(part1).trigger('create');

我究竟做错了什么?为什么不启动?仅供参考 .trigger('refresh') 不起作用。

4

2 回答 2

1

改变这个

targets.bind( 'mouseenter', function()

$(document).on('mouseenter', targets, function(){

并且

target.bind( 'mouseleave', remove_tooltip );
tooltip.bind( 'click', remove_tooltip )

$(document).on('mouseleave', target, remove_tooltip);
$(document).on('click', tooltip, remove_tooltip);

document在我的代码中替换为最接近的静态**(从未删除或替换)**父元素。

这将为动态元素提供事件委托,并允许代码仍然执行。

于 2013-06-21T18:57:28.580 回答
0

我不是 jQuery(移动)方面的专家,但我假设工具提示在附加 DOM 元素之前初始化。如果是这种情况,您应该在工具提示检查 DOM 树之前附加元素,或者更动态地(更可能是通常的用例)重新初始化工具提示。无论如何,我建议尽可能检查工具提示实现,以找到最简单、最有效的方法。

于 2013-06-21T16:44:50.653 回答