2

以下のようなリンクがありますが、マウスオーバーイベントでそのタイトル属性が表示されないようにしたいと思います。しかし、私はそれを保持しなければならず、私はそれを取り除くことができません。

<a href="" title="This is a test">Test</a>

jQueryを使用してそれを行うにはどうすればよいですか?

4

6 に答える 6

3

何度も何度も、偶然に問題を解決するリンクを見つけました。だから私はそれをここに置くことにしました...
その作家に感謝します

http://jsfiddle.net/vkDcG/

HTML

<a class="fancybox" caption="This is 1st title" href="http://fancyapps.com/fancybox/demo/1_b.jpg"><img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/></a>

<a class="fancybox" caption="This is 2nd title" href="http://fancyapps.com/fancybox/demo/2_b.jpg"><img src="http://fancyapps.com/fancybox/demo/2_s.jpg" alt=""/></a>

jQuery:

$(".fancybox")
    .attr('rel', 'gallery')
    .fancybox({
        beforeLoad: function() {
            this.title = $(this.element).attr('caption');
        }
    });
于 2013-03-10T19:39:46.627 に答える
1

Stack Overflowにはいくつかのハックがあります(ツールチップを無効にし、ツールチップを抑制します)。これが最もクリーンで、jQueryは必要ないと思います。

https://stackoverflow.com/a/457382/1325290

// Suppress tooltip display for links that have the classname 'suppress'
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
    if (links[i].className == 'suppress') {
        links[i]._title = links[i].title;
        links[i].onmouseover = function() { 
            this.title = '';
        }
        links[i].onmouseout = function() { 
            this.title = this._title;
        }
    }
}

不要な場合は、if...suppress部分を省略します。

于 2012-05-19T20:32:59.633 に答える
0

テクニックは、mouseoveでタイトルを非表示にし、mouseoutで復元することです。

$("a#test").mouseover( function(e){

    var myLink = $('a#test');

    myLink.hover(
        function() {  
            old_title = $(this).attr('title');      
            $(this).attr('title',''); 
        },
        function() {  
            $(this).attr('title', old_title);  
        }  
    );  
});
于 2012-05-19T20:36:42.300 に答える
0

私が持っている唯一のアイデアは、マウスオーバーイベントフォームがトリガーされないようにすることです。おそらくこのソリューションは機能します:

$("a[title='Titlte is a test']").mouseover(function(e) {
    e.preventDefault();
});

これが役に立たない場合は、要素の上に不透明度要素を配置してこれをハックできます-これは実際には同じことを行います-マウスオーバーの偶数はチグされません。注:不透明度要素でキャッチされるときに、リンクでクリックイベントをトリガーする必要があります。

$("Opacity element id").click(function(e) {
    $("a[title='Titlte is a test']").click()
});

同様に、mousedown/upイベントが使用されている場合

于 2012-05-19T20:33:27.880 に答える
0

最新のjQueryを使用した私のソリューションは次のとおりです。

jQuery(document.body)
  .on('mouseover', 'a[title]', null, function(event) {
    $(this).attr('data-title', $(this).attr('title')).removeAttr('title');
  })
  .on('mouseout', 'a[data-title]', null, function(event) {
    $(this).attr('title', $(this).attr('data-title')).removeAttr('data-title');
  });

これにより、ページ上の既存および将来のすべてのaタグが処理され、すべての要素に対してイベントハンドラーのペアが1つだけ作成されるため、メモリオーバーヘッドが最小限に抑えられます。ホバーすると、値がtitle属性から属性に移動しdata-titleます。マウスが要素を離れると、これは再び削除されます。

于 2013-01-20T16:20:48.560 に答える
0

私にとっては、タイトルタグの内容が何であるかを気にしなかったので、これは私にとってよりクリーンでした。今やりました:

$('a').hover(function() {

    $(this).attr('title', '');

});

これにより、タイトルタグが表示されなくなりました。

于 2015-05-13T10:40:00.300 に答える