21. marts 2001 - 16:57Der er
9 kommentarer og 2 løsninger
ALT tasten & Objekt ude af syne
Hej alle.
2 spørgsmål slået sammen til 1.
1) Er der nogen der kan finde løsning til at forhindre, at Alt tasten aktiverer Internet Explorerens menuer?*
2) Er der nogen, der kan finde en løsning til at afgøre om et objekt (med statisk position) ikke er synligt? (dvs. udenfor den del man kan se af en lang hjemmeside).
* Følgende er et skript til at teste for ALT tasten:
<html><body> <script language=\"JavaScript\"> document.onkeydown = function alttast (e) { kc=event.keyCode; if (kc==18) { alert (\'Hey. Du trykkede på ALT\'); } } </script> </body></html>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
netsrac>> <løftet pegefinger> jojo, men som nute siger ligger denne funktionalitet uden for browseren, det vil sige at du får forhindret scripting events på window objektet (og kun det) i at køre, men browseren vil jo stadigvæk fange eventen - du burde da teste sådan noget inden du skyder vildt omkring dig, eller i det mindste skrive at det kun er et gær(!)</løftet pegefinger> Mht. (2) kan det gøres ved at først tjekke objektets visibility og display properties, dernæst undersøge om dets position er indenfor browservinduets synlige område, og sidst iterere igennem samtlige sidens lag og checke deres position, z-index, visibility og displays... Det er vist lidt af en opgave... alternativt kan du, fra IE4 og op, prøve et hack a\'la if(obj==document.elementFromPoint(obj.offsetX,obj.offsetY)) objIsvisible=true; Det vil så kun betyde at elementets øverste, venstre hjørne er synligt, men du kan jo lege lidt med det :)
dansermeddhtml >> Hm...det er måske ikke X browser, men dette virker da i IE5
<script>
function CheckKeys(){ var key = event.keyCode; if (key == 18){ // Her laver du noget andet, f.eks. skifte til en anden side alert(\'hej\'); // Og så annullerer vi event.cancelBubble = true; event.keyCode = 0; return false; } } document.onkeydown = CheckKeys;
næ, det virker da ikke i ie5... det kan være at du er kommet til at misforstå spørgsmålet :-) \"1) Er der nogen der kan finde løsning til at forhindre, at Alt tasten aktiverer Internet Explorerens menuer?* \"
jo, jeg har da prøvet det.. Altså lad os lige blive enige om hvad det er spørgsmålet handler om; som jeg læser det skal scriptet forhindre at browserens menubar får fokus - menubaren får jo fokus på trods af dette script, som du kan se ved at første menupunkt (\"File\" eller \"Filer\") får en kant omkring og \"F\"\'et (i min browser) bliver understreget... min browser hedder 5.00.2920.0000 til efternavn; hvad med din?
Hm..min er sørme en 5.50, men anyway, hvis man laver en popup som jeg har lavet i det andet eksempel mister baren fokus igen. Så kan man jo f.eks. sætte fokus på et tekstfelt eller et andet element på siden.
OK - problemet var at jeg havde prøvet det uden alerten; det er den der forhindrer at menubaren får fokus; ikke cancelBubble, event.keyCode, return false eller noget andet; pointen er vel at browserens alert og confirm-bokse er objekter der kan kaldes fra script, men hører under browseren selv og ikke indholdet af den - det vil så sige at man skal finde en tingest med tilsvarende funktionalitet der bare ikke generer brugeren helt vildt...
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.