2009-05-01 3 views

ответ

4

Это функция браузера для интерпретации названия ссылки и отображения всплывающей подсказки. Невозможно их подавить. Я попробовал (потому что клиент их тоже не любил), и вокруг их нет.

+1

У Firefox нет инструментальных подсказок для ссылок, если они не имеют объявленного атрибута title. –

+0

Вопрос не в том, как вы можете сохранить атрибут title, скрывая всплывающие подсказки? Я не знаю ни одного браузера, который показывает подсказки по ссылкам без атрибутов заголовка. Что подскажет подсказка? – Calvin

+0

Предположительно, подсказкой может быть URL-адрес ссылки. –

-1

Ссылки в моем браузере не отображают подсказки, подобные этим, если у них нет атрибута title.

Если вы хотите, вы можете использовать Greasemonkey, чтобы запустить этот бит javascript на странице evey, чтобы удалить их.

var anchorTags; 
anchorTags = document.getElementsByTagName("a"); 
for(var i = 0; i < anchorTags.length; i++) { 
    anchorTags[i].removeAttribute("title"); 
} 
+1

У меня создается впечатление, что он пытается удалить их для других людей на своем собственном/рабочем/фирменном сайте, а не быть лично оскорбленным их присутствием. Я не понимаю, почему, ум; это только мое первоначальное впечатление. –

+1

Ну, в этом случае просто не добавляйте атрибуты заголовка на свои якоря. –

+1

Я, как правило, согласен с этим предложением, хотя, возможно, это усложняет ситуацию. –

0

... это, возможно, не было бы идеально, но вы всегда можете попробовать, вместо атрибута title в <a href>, а <span> в пределах <a> теги:

/* screen.css */ 

a { } 

a span.titleText { 
    display: none; 
    position: absolute; 
    bottom: 1.2em; 
    left: 0; 
} 

a:hover span.titleText, 
a:active span.titleText, 
a:focus span.titleText { 
    display: block; 
} 

/* audio.css */ 

a span { 
    display: inline; /* or whatever the relevant attribute would 
         be in an audio stylesheet. */ 
} 
<head> 
    <link href="screen.css" type="text/css" rel="stylesheet" media="screen" /> 
    <link href="audio.css" type="text/css" rel="stylesheet" media="screen-reader, audio" /> 
</head> 

<a href="http://some.url.com"> 
    <span class="titleText">This is the title</span>This is the link 
</a> 

Я, однако, не считаю это особенно практичным решением. И я уверен, что это не подтвердит. Если бы я знал JS, я бы предложил что-то более работоспособное, но даже тогда я не уверен, что это сработает.

3

Я знаю, что это была решена, но я также нашел обходной путь: Hide native tooltip using jQuery

+0

Ссылка только ответы можно избежать. –

+0

Так можно комментировать ответы 5-летней давности. –

0

Это работает в JQuery.

var val; 
$('[YOUR_SELECTOR]').hover(function() { 
    val = $(this).attr('title'); 
    $(this).removeAttr('title'); 
    },function() { 
    $(this).attr('title',val); 
}) 
1

Я имел этот вопрос с проектом, в котором клиент хотел, чтобы показать их собственную подсказку (что и было сделано с помощью CSS), но он также показывается из браузера по инициативе подсказке также, поэтому он показал дважды. Мы обошли это, удалив атрибут «title» и вместо этого используя «данные», чтобы заполнить текст в CSS.

Я не уверен, что вы имеете в виду, как держать их на странице для слабовидящих, поскольку они видны только в исходном коде?

Например:

<a href="link" title="something">Link title here</a>

покажет «название ссылку здесь» ссылка на страницу, а также раздражающие всплывающие при наведении на него.

<a href="link" data="something">Link title here</a>

покажет 'название Link вот ссылка, но не будет показывать раздражающие всплывающие окна на зависания, хотя вы все еще можете использовать data тег для ссылки на то, что вы хотите поставить там (в нашем случае, мы поместите текст для всплывающей подсказки для ссылки на CSS).

Очевидно, что если вы удалите тег title полностью, проблема будет решена, но вы сказали, что вам нужно сохранить его там, так что это мой способ обхода, используемый ранее.