识别没有ID或特定属性的对象

时间:2015-04-09 07:10:17

标签: javascript dom tooltip

我正在尝试通过悬停在元素上方来创建弹出窗口。弹出窗口应在首次悬停后创建/加载。

初始化后的每个悬停都不应该创建新元素,而是重新打开已创建的元素。

我在上面的元素没有ID或类因此,我不能将它们存储在数组中。

$( ".tooltip-enabled" ).hover(
        function() {
            // Tooltip already exists? 
            // ...
            createToolTip($(this));
        }, function() {
            closeToolTip($(this));
        }
);

显示的代码将始终创建一个新的工具提示。有没有办法存储我已经在上面徘徊的物体?

1 个答案:

答案 0 :(得分:2)

  

显示的代码将始终创建一个新的工具提示。有办法吗?   存储我已经在上面徘徊的物体?

是的。您可以使用存储计数器的$.fn.data

$(".tooltip-enabled").hover(function() {
    if ($(this).data('hovered'))
       createToolTip($(this));
    else {
       $(this).data('hovered', true); // set it here
       openToolTip($(this));
    }
},  function() { closeToolTip($(this)); });

请注意,为了保持代码简洁,我省略了ifelse周围的括号。如果您的代码跨越多个语句,则需要使用括号。