Jeg har en title tag på et tekstfelt, og den vises fint onMouserOver, men jeg vil også gerne have at den bliver vist onFocus - d.v.s. hvis man bare tab'er sig igennem formularen, når man udfylder den. Er der nogen måde, hvorpå jeg kan tvinge title-tag'en til at blive vist onFocus?
Det tror jeg altså ikke, at man kan. Jeg har bl.a. prøvet med [object].fireEvent('ommouseover'), men den udløser ikke nogen title...
Du kan dog lave følgende, men jeg ved ikke, om det er overkill i forhold til dit behov...? Det fungerer på den måde, at der ligger en skjult div nederst på siden. Når et element på siden kalder funktionen showTitle i onfocus, indsættes elementets title-tekst i den skjulte div, som derpå vises i 1500 millisekunder, hvorefter den automatisk skjules igen. Det ligner en title til forveksling, men er det ikke:
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Vis titel onfocus</title> <style> #idTitle { position:absolute; z-index: 10; background-color:#FFFFD5; width:20px; padding:2px; font-family: 'ms sans serif'; font-size:8pt; border:1px solid black; white-space: nowrap; } </style> <script> var timeId;
function showTitle(elm) { if (timeId != null) window.clearTimeout(timeId); var titleElm = document.getElementById('idTitle'); if (elm.title == '' || titleElm == null) return; var pElm = elm; var oLeft = elm.offsetLeft; var oTop = elm.offsetTop; while (pElm.parentElement.tagName != 'BODY') { pElm = pElm.parentElement; oLeft += pElm.offsetLeft; oTop += pElm.offsetTop; } oLeft += (elm.offsetWidth/1.5); oTop += 10; titleElm.innerText = elm.title; titleElm.style.pixelLeft = oLeft; titleElm.style.pixelTop = oTop; titleElm.style.display = ''; timeId = window.setTimeout(hideTitle,1500); }
function hideTitle() { timeId = null; var titleElm = document.getElementById('idTitle'); if (titleElm != null) titleElm.style.display = 'none'; } </script> </head> <input size=20 title="Her er titlen på et input-felt" onfocus="showTitle(this)"><br> <textarea cols=30 rows=3 title="Her er titlen på et textarea" onfocus="showTitle(this)"></textarea> <div id="idTitle" style="display:none"></div> </body> </html>
Jo, det er lidt for overkill. Jeg tror sgu bare jeg smider en alert i hovedet på folk i stedet - godt nok lidt irriterende, men hvad...
Synes godt om
Slettet bruger
08. september 2003 - 21:41#3
Du kan jo også vise en tekst i statuslinjen eller i en div et sted på siden.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.