Web-TorMedlem sedan nov. 200011 794 inlägg
När man öppnar "Meny 1" skulle jag vilja att focus hamnar i popup:en så att när man tycker på TAB så markeras "Rad 2".
Finns det något sätt att fixa detta?
<script>
var objPop=window.createPopup();
var objPopBody=objPop.document.body;
function pop(element){
objPopBody.innerHTML=element.nextSibling.nextSibling.innerHTML;
objPopBody.style.border="solid black 1px";
objPop.show(50,50,150,100,document.body);
}
</script>
<a href="#" onclick="pop(this)">Meny 1</a><br>
<div id="cont" style="display:none;">
<a href="#">Rad 1</a><br/>
<a href="#">Rad 2</a><br/>
<a href="#">Rad 3</a>
</div>
<a href="#" onclick="pop(this)">Meny 2</a><br>
<div id="cont" style="display:none;">
<a href="#">Rad 4</a><br/>
<a href="#">Rad 5</a><br/>
<a href="#">Rad 6</a>
</div>
nitro2k01Medlem sedan aug. 20037 630 inlägg
function pop(element){
objPopBody.innerHTML=element.nextSibling.nextSibling.outerHTML;
objPopBody.style.border="solid black 1px";
objPop.show(50,50,150,100,document.body);
menuinPop=objPop.window.document.getElementById(element.nextSibling.nextSibling.id);
menuinPop.style.display="block";
menuinPop.firstChild.focus();
}
Obs! 1) Med denna kod får inte divarna ha samma id! (Det ska de ändå inte ha)
2) Observera outerHTML på första raden i funktionen.
Ska för övrigt inte nextSibling bytas ut mot nextSibling() (Inte säker själv)
Web-TorMedlem sedan nov. 200011 794 inlägg
1. Jo, divarna ska ha olika id (klipp-och-klistra fel ;)).
Får inte din kod att funka:
objPop.window.document is null or not an object
På raden:
menuinPop=objPop.window.document.getElementById(element.nextSibling.nextSibling.id);
Web-TorMedlem sedan nov. 200011 794 inlägg
Det är kanske så här du tänkte:
<script>
var objPop=window.createPopup();
var objPopBody=objPop.document.body;
function pop(element){
objPopBody.innerHTML=element.nextSibling.nextSibling.outerHTML;
objPopBody.style.border="solid black 1px";
objPop.show(50,50,150,100,document.body);
menuinPop=objPop.document.getElementById(element.nextSibling.nextSibling.id);
menuinPop.style.display="block";
menuinPop.firstChild.focus();
}
</script>
<a href="#" onclick="pop(this)">Meny 1</a><br>
<div id="cont1" style="display:none;">
<a href="#">Rad 1</a><br/>
<a href="#">Rad 2</a><br/>
<a href="#">Rad 3</a>
</div>
<a href="#" onclick="pop(this)">Meny 2</a><br>
<div id="cont2" style="display:none;">
<a href="#">Rad 4</a><br/>
<a href="#">Rad 5</a><br/>
<a href="#">Rad 6</a>
</div>
...men det funkar inte. Trycker man TAB efter att man öppnat Meny1 så går den till Meny 2.
nitro2k01Medlem sedan aug. 20037 630 inlägg
Aha, felet ligger i window.createPopup(), tydligen vägrar den under några omständigheter att ett objekt i den får fokus. Inte ens när jag lade till en inputbox och klickade manuellt i den, så ville den acceptera att den fick fokus. Mitt råd är att öppna din popup på annat sätt.
Web-TorMedlem sedan nov. 200011 794 inlägg
Jag var rädd för att det inte skulle funka. :(
nitro2k01 skrev:
Mitt råd är att öppna din popup på annat sätt.
Nåt tips på hur man får en popup att ligga över flera frames. ;)
nitro2k01Medlem sedan aug. 20037 630 inlägg
Mitt tips är att använda en vanlig popup, alltså window.open.
<script>
function pop(element){
var objPop = window.open("empty.html","popwindow","resizable=1,left=" + (event.screenX+10) + ",top=" + (event.screenY+10) + ",width=100,height=150,scrollbars=0,directories=0,location=0,menubar=0,status=0,toolbar=0")
objPop.moveTo(event.screenX+10, event.screenY+10);
var objPopBody=objPop.document.body;
objPopBody.innerHTML=element.nextSibling.nextSibling.outerHTML;
objPopBody.style.border="solid black 1px";
menuinPop=objPop.document.getElementById(element.nextSibling.nextSibling.id);
menuinPop.style.display="block";
menuinPop.firstChild.focus();
}
</script>
<a href="#" onclick="pop(this)">Meny 1</a><br>
<div id="cont1" style="display:none;">
<a href="#">Rad 1</a><br/>
<a href="#">Rad 2</a><br/>
<a href="#">Rad 3</a>
</div>
<a href="#" onclick="pop(this)">Meny 2</a><br>
<div id="cont2" style="display:none;">
<a href="#">Rad 4</a><br/>
<a href="#">Rad 5</a><br/>
<a href="#">Rad 6</a>
</div>
Web-TorMedlem sedan nov. 200011 794 inlägg
Hmm...
Jag får upp ett nytt litet fönster men inget innehåll?
http://member.webforum.nu/1123/pop2.html
nitro2k01Medlem sedan aug. 20037 630 inlägg
Oh, problemet ligger nog i att du inte har skapat ett dokument som heter empty.html, det kanske jag skulle ha sagt. Av någon andledning så gillade inte IE about:blank, så det fick bli ett nytt tomt dokument.
Web-TorMedlem sedan nov. 200011 794 inlägg
Men tanken är alltså att det ska dyka upp ett nytt fönster med ramar, knappar och hela köret?
nitro2k01Medlem sedan aug. 20037 630 inlägg
Ja i princip.
Du kan experimentera med att sätta fullscreen=1, möjligen i kombination med channelmode=1. Då slipper du ramen. Dock så verkade det då inte gå att ändra storlek på fönstret. Jag vet dock att jag har lyckats med detta förr. Kanske en av MS' "säkerhetsuppdateringar"...
/r Bekräftat att det inte funkar, stängde dock fönstret med källan. Men du kan lita på mig :)
window.open("empty.html","popwindow","fullscreen=1,channelmode=1,resizable=1,...