<a href="link.html" title="Titletext">
... - это код.Можно ли скрыть заголовок href?
Мне нужно использовать атрибут title
из-за slimbox, но я хочу скрыть заголовок-текст, который появляется при наведении указателя мыши на ссылку.
Любые идеи?
<a href="link.html" title="Titletext">
... - это код.Можно ли скрыть заголовок href?
Мне нужно использовать атрибут title
из-за slimbox, но я хочу скрыть заголовок-текст, который появляется при наведении указателя мыши на ссылку.
Любые идеи?
Предположим, вы используете тег изображения в тег, вы можете просто использовать альтернативный заголовок для изображения (даже пробел), и это будет перезаписывать заголовок ссылки, когда вы наводите на нее курсор.
Хотя это работает, стоит отметить, что он больше не является W3C. Атрибуты не должны иметь начальные или конечные пробелы. – asiby
Нет гарантий, но в зависимости от того, как работает Slimbox, вы можете включить заголовок, а затем использовать что-то вроде jQuery, чтобы удалить его через несколько секунд после загрузки. Предполагая, что Slimbox индексирует атрибут Title и сохраняет его где-то после его чтения, вы можете безопасно удалить его после этого.
Не могли бы вы просто пропустить ссылки в DOM и установить атрибут title в пустую строку.
var DOMlinks = document.links;
for(i=0;i<DOMlinks.length;i++){
DOMlinks[i].title = ""
}
Переопределить/наложить его на пустой jQuery tooltip?
если вы используете JQuery, вы можете сделать следующее
$("a").mouseover(function(e){ preventdefault();});
(не проверял, хотя)
Я думаю, что вы имели в виду 'e.preventDefault()'. Я тоже не думаю, что это работает. –
yup. не работает. – Salty
Вы не должны использовать атрибут title
с Slimbox. См. Пример нескольких изображений в верхней части этой страницы: http://code.google.com/p/slimbox/wiki/MooToolsAPI.
Вы можете просто удалить атрибут title
с вашего якоря, и передать title
текст (описание вашего изображения) к функции Slimbox open
, который вы назвали бы использованием onclick
события вашего якоря.
// 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 «сек от первого боян, связанного с моим комментарием к этому вопросу (Disabling browser tooltips on links and <abbr>s)
в отношении «как о хорошем простом» предложении я видел перечисленных на нескольких сайтах, я лично не предложил бы это по двум причинам.
Считыватели экрана и люди с ослабленным зрением полагаются на атрибуты заголовка, которые считываются вслух. Я считаю, что это была первоначальная цель и причина для них в якорных тегах и является крупным аспектом Секции доступа к веб-сайтам США 508. Я думаю, что в этом случае программа чтения с экрана будет читать все заголовки; первый, а затем второй, который может быть очень запутанным для пользователя с ослабленным зрением. Они не понимают, почему они слышат два esp, если они содержат другой текст. О чем говорят два разных якоря? Если да, то почему они не могут щелкнуть или выбрать другой, который они слышат, и продолжать получать только одну веб-страницу (как сценарий).
Если вы разместите дополнительный текст в Google заглавных букв, и многие другие поисковые системы могут просмотреть это действие как черную шляпу seo и могут привести к тому, что ваш сайт будет запрещен из этого списка поисковых систем (например, набивка), это произошло с BMW в Германия от Google уже.
лично я считаю, что лучший способ сохранить атрибут заголовка, как это должно было функционировать, а затем использовать Javascript или CSS, чтобы как-то скрыть. Эти методы не повлияют на экранные программы, веб-сканеры и пользователи с ослабленным зрением.
+1 для удобства доступности и правильного использования атрибута Title. –
Это очень легко с JQuery
$("li.menu-item > a").attr('title', '');
Это удалит название из любого а элементы класса Li пункта меню - конечно, вы можете получить фантазии, так что они просто скрывают от мыши над :)
[Анонимные комментарии пользователей] (http://stackoverflow.com/spected-edits/227678), что вы можете просто использовать '.removeAttr ('title'); вместо – Rup
Мне понравилось jquery ...;) Мне было нужно это для портфолио: title-tags для лайтбокса, но ни один на мыши. Это помогло мне, спасибо за подсказку!
$(function(){
$("li.menu-item > a").hover(function(){
$(this).stop().attr('title', '');},
function(){$(this).stop().attr();
});
});
самый простой способ будет:
после использования вашего Slimbox, добавьте следующий код под ним:
$('*[title]').removeAttr('title');
надеюсь, что это может помочь ..
Используя идею из Дэвид Томас, вы можете создать более элегантное решение, используя 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, он делает все, что вам нужно, и сохранить правильное использование атрибута заголовка. Просто измените селектор в соответствии с вашими потребностями.
/*
* 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'));
});
Как прочитать на другой вопрос, я предлагаю, чтобы переключить «название» атрибут некоторых «данных титула» для того, чтобы сохранить его для чтения с экрана для пользователей с ограниченными физическими возможностями. Как сказал Локин, поддержание удобства использования сайта для людей с ограниченными возможностями и инвалидов должно быть также предметом озабоченности при разработке.
Если slimbox полагается на атрибут title, название данных, вероятно, нарушит эту функциональность. – CodeMoose
Да, если вы посмотрите на обманщика: http://stackoverflow.com/questions/1299772/jquery-hide-native-tooltip-resolved или здесь: http://stackoverflow.com/questions/457366/disabling -browser-tooltips-on-links-and-abbrs –
В Slimbox не требуется атрибут 'title', он по умолчанию используется для совместимости с лайтбокс, но вы можете легко изменить его на любой другой атрибут. Пользовательская функция может быть добавлена к не обфускации части скрипта. Пожалуйста, прочитайте документацию API о функции «LinkMapper». – BladeCoder
переопределяет функцию, загружающую заголовок из переменной «title» в нечто другое, например title_text, обычно это как два vars, тот, который установлен, и тот, который сохраняет текст, ваша новая переменная не будет использоваться вашим браузером ergo don ' t отображать его на hover – Alexis