1

title 属性が設定されている現在および将来のすべての要素に何かを適用するにはどうすればよいですか?

これを実現したい理由は簡単です。Web アプリケーションにフッターがあり、多くのアプリと同様に、いくつかの要素をホバリングする際に情報を書きたいと考えています。この情報を、情報を表示したい要素の title 属性に設定したいと考えています。

したがって、タイトルを持つすべての要素は、ホバー時に関数をトリガーする必要があります。動的に追加される要素も。

これは、追加された要素に対して機能するはずのマウスのEnter + Leaveで何かが機能することがわかりました:

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

特別なセレクターは何ですか?

二次的な質問: これら 2 つの匿名関数のスコープ内から $(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 に答える