<a href="link.html" title="Titletext">
... является кодом.
Мне нужно использовать атрибут title
из-за slimbox, но я хочу скрыть заголовок-текст, который появляется, когда наведите указатель мыши на ссылку.
Любые идеи?
<a href="link.html" title="Titletext">
... является кодом.
Мне нужно использовать атрибут title
из-за slimbox, но я хочу скрыть заголовок-текст, который появляется, когда наведите указатель мыши на ссылку.
Любые идеи?
Предположим, вы используете тег изображения в теге, вы можете просто использовать альтернативный заголовок для изображения (даже пробел), и это будет перезаписывать заголовок ссылки, когда вы наводите на нее курсор.
Как насчет приятного простого:
<a href="link.html" title="Titletext"><span title=" ">text</span></a>
(Лучше, поместите что-то действительно полезное во вложенный заголовок.)
Это очень просто с jQuery
$("li.menu-item > a").attr('title', '');
Это приведет к удалению заголовка из любых элементов меню-класса li - конечно, вы можете получить фантазию, чтобы они просто спрятались на мыши:)
В отношении "как насчет приятного простого" предложения, которое я видел на нескольких сайтах, я лично не предлагал это по двум причинам.
Считыватели экрана и пользователи с ослабленным зрением полагаются на атрибуты заголовка, которые считываются вслух. Я считаю, что это была первоначальная цель и причина для них в якорных тегах и является крупным аспектом Секции доступа к веб-сайтам США 508. Я думаю, что в этом случае программа чтения с экрана будет читать все заголовки; первый, а затем второй, который может быть очень запутанным для пользователя с ослабленным зрением. Они не понимают, почему они слышат два esp, если они содержат другой текст. О чем говорят два разных якоря? Если да, то почему они не могут щелкнуть или выбрать другой, который они слышат, и продолжать получать только одну веб-страницу (как сценарий).
Если вы поместите дополнительный текст в оба заголовка Google, и многие другие поисковые системы могут рассматривать это действие как черную шляпу seo и могут привести к тому, что ваш сайт будет запрещен из этого списка поисковых систем (он же набивка), это случилось с BMW в Германии от Google уже.
Я лично считаю, что лучшим способом является сохранение атрибута title, поскольку он должен функционировать, а затем использовать Javascript или css, чтобы как-то скрыть его. Эти методы не повлияют на экранные программы, веб-сканеры и пользователи с ослабленным зрением.
Мне понравилось jquery...;) Мне было нужно это для портфолио: title-tags для лайтбокса, но ни один из них не был включен. Это помогло мне, спасибо за подсказку!
$(function(){
$("li.menu-item > a").hover(function(){
$(this).stop().attr('title', '');},
function(){$(this).stop().attr();
});
});
// 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;
}
}}
Чтобы процитировать Aron Rotteveel, ответьте на первый вопрос, связанный в моем комментарии к вопросу ( Отключение подсказок браузера по ссылкам и <abbr> )
Вам не нужно использовать атрибут title
с Slimbox. См. Пример нескольких изображений в верхней части этой страницы: http://code.google.com/p/slimbox/wiki/MooToolsAPI.
Вы можете просто удалить атрибут title
от своего якоря и передать текст title
(описание вашего изображения) в функцию Slimbox open
, которую вы вызываете с помощью события onclick
вашего якоря.
Самый простой способ:
после использования slimbox, добавьте следующий код ниже:
$('*[title]').removeAttr('title');
надеюсь, что это может помочь.
Нет гарантий, но в зависимости от того, как работает Slimbox, вы можете включить заголовок, а затем использовать что-то вроде jQuery, чтобы удалить его через несколько секунд после загрузки страницы. Предполагая, что Slimbox индексирует атрибут Title и сохраняет его где-то после его чтения, вы можете безопасно удалить его после этого.
Не могли бы вы просто пропустить ссылки в DOM и установить атрибут title в пустую строку.
var DOMlinks = document.links;
for(i=0;i<DOMlinks.length;i++){
DOMlinks[i].title = ""
}
Перекрыть/наложить его на пустой подсказку jQuery?
Если вы используете jquery, вы можете сделать следующее
$("a").mouseover(function(e){ preventdefault();} );
(не протестировал его, хотя)
Используя идею Дэвида Томаса, вы можете создать более элегантное решение с помощью jQuery:
$('[title]').each(function(){
$(this).data('original-title', $(this).attr('title'));
}).hover(
function () {
$(this).attr('title','')
}, function () {
$(this).attr('title',$(this).data('original-title'))
});
jQuery - это должно быть прямо:
var hiddenTitle; //holds the title of the hovered object
$("li.menu-item > a").hover(function() {
hiddenTitle = $(this).attr('title'); //stores title
$(this).attr('title',''); //removes title
}, function() {
$(this).attr('title',hiddenTitle); //restores title
});
Это мое решение jQuery, оно делает все, что вам нужно, и сохраняйте правильное использование атрибута title. Просто измените селектор в соответствии с вашими потребностями.
/*
* jQuery remove title browser tooltip
*/
var removeTitleSelector = 'a.removeTitle';
jQuery('body').on('mouseover', removeTitleSelector, function () {
jQuery(this).data('title', jQuery(this).attr('title'));
jQuery(this).removeAttr('title');
}).on('mouseout', removeTitleSelector, function () {
jQuery(this).attr('title', jQuery(this).data('title'));
});
Как прочитано по другому вопросу, я предлагаю переключить атрибут "title" на некоторый "заголовок данных", чтобы он был доступен для чтения с экрана для пользователей с ограниченными возможностями. Как сказал Локин, сохранение удобства использования сайта для людей с ограниченными возможностями и инвалидов должно также быть чем-то, что нужно учитывать при разработке.