1

如何将某些内容应用于现在和将来设置了 title 属性的所有元素?

我想要实现这一点的原因很简单:我在 web 应用程序中有一个页脚,与许多应用程序一样,我想写一些关于悬停某些元素的信息。我想在要为其显示信息的元素的标题属性中设置此信息。

因此,每个带有标题的元素都应该在悬停时触发一个功能。甚至是动态添加的元素。

我发现这对鼠标输入+离开有一些作用,应该适用于添加的元素:

$(document).on(
{
    mouseenter: function() 
    {
        //stuff to do on mouseover
    },
    mouseleave: function()
    {
        //stuff to do on mouseleave
    }
}
, "*[special-selector]");

应该是什么特殊选择器?

第二个问题:如何在这两个匿名函数的范围内访问 $(this).attr('title') 属性?

任何想法?或者更好的解决方案?我也想保持 html 尽可能简单,并避免在元素中使用 onmouseover 属性,因为它们有很多..

4

1 回答 1

2

使用属性选择器定位元素:

$(document).on(
{
    mouseenter: function(e)
    {
        //stuff to do on mouseover
        var domNode = this,
            $object = $(domNode),
            title = domNode.title;
        $object.addClass('hover');
        console.log(title);
    },
    mouseleave: function(e)
    {
        //stuff to do on mouseleave
        var domNode = this,
            $object = $(domNode),
            title = domNode.title;
        $object.removeClass('hover');
        console.log(title);
    }
}
, "[title]");

(简单)JS Fiddle 演示

参考:

于 2013-08-17T15:27:11.843 回答