Atrybut Title w Internet Explorer – jak usunąć?
Ostatnio napotkałem na dość dziwny problem w przeglądarce Internet Explorer (a jakże) z atrybutem title. Miałem za zadanie stworzyć własny system wyświetlający podpowiedzi do danego wiersza w zestawie pól formularza. Naturalnym rozwiązaniem dla mnie było użycie atrybutu „title” Algorytm sprowadził się do tego, że na zdarzeniu :hover pobierałem atrybut title przekazywałem do mojego systemu a z tego usuwałem. Wszystko to wykonane było za pomocą jQuery
[code lang=”js”]
$(’.row’).hover(function() {
var title = $(this).attr(’title’);
$(this).removeAttr(’title’);
});
[/code]
Wydawałoby się, że to dosyć proste i banalne, jednakże Internet Explorer zupełnie nie rozumie o co chodzi. Usunięcie atrybutu title zwyczajnie nie przynosi rezultatów. Chmurka od przeglądarki nadal się pojawia. Rozwiązanie jakie udało mi się wynaleźć to ustawienie title na wartość pustą
[code lang=”js”]
$(’.row’).hover(function() {
var title = $(this).attr(’title’);
$(this).attr(’title’, ”);
});
[/code]
I voila! Teraz Internet Explorer jak i inne przeglądarki nie mają problemu. Chmurka przestaje się pojawiać. Co ciekawe… jeśli jednak dodatkowo potem jeszcze usunę ten atrybut w ten sposób:
[code lang=”js”]
$(’.row’).hover(function() {
var title = $(this).attr(’title’);
$(this).attr(’title’, ”);
$(this).removeAttr(’title’);
});
[/code]
to chmurka znowu się pojawia z oryginalnym tekstem. Wygląda na to, że ustawienie samodzielne title jakoby podmienia zawartość kontenera zatem usunięcie tego co sami zrobimy „odsłania” wartość pierwotną. Dziwne?
1 thought on “Atrybut Title w Internet Explorer – jak usunąć?”
Comments are closed.