Avatar billede hans_ch Nybegynder
22. juli 2002 - 19:26 Der er 4 kommentarer og
1 løsning

onclick virker ikkei en iframe i designmode

Jeg har en DHTML editor, som består af en IFRAME som man editerer i. Det virker fint, men jeg står og skal bruge en onclick-event i iframen.
Der sker intet overhovedet!

Men hvis jeg ikke sætter designMode = "on" i iframen virker den onclick fint.

Jeg har både prøvet med document.onclick = "min_funktion"; og <body onclick="min_funktion()">

Kan man slet ikke bruge events i designMode, eller kan jeg bare ikke finde ud af det? :-)
Avatar billede gryn Nybegynder
22. juli 2002 - 19:37 #1
function sjovogballade(evt) {
//Kør dit script her
}

    if(isNav) {
        window.captureEvents();
        window.onmousedown = sjovogballade;
        }
    else {
        document.onmousedown = sjovogballade;
        }
Avatar billede =maddog= Nybegynder
22. juli 2002 - 19:41 #2
du kan ikke som sådan bruge events fra et andet vindue. det ovenstående skulle gerne virke i NS4, men jeg ved ikke om nyere browsere også benytter capture events på den måde.
ellers er der jo
document.getElementByID('iframens_id').contentWindow.document.onclick = function() { hvad du vil have }
Avatar billede hans_ch Nybegynder
22. juli 2002 - 19:46 #3
Det er ligemeget hvilken event jeg vil bruge - ingen af dem virker.
Min kode ser således ud:

<iframe id="editor" src="editor.php"></iframe>
<script>
editor.document.designMode = "on";
</script>
-------------------
editor.php:
<html>
<head>
<script language="Javascript">
function test(){
alert("Ha!");
}
document.onmousedown = test;
</script>
</head>
<body>
</body>
</html>

-----------------

Lige meget hvad jeg skriver virker det ikke - med mindre at jeg IKKE sætter editor.document.designMode = "on";
Hvis jeg ikke gør det, virker det uden problemer...
Avatar billede gryn Nybegynder
22. juli 2002 - 19:47 #4
Du skal nok også lige tilføje :

var d = document;   
if(d.layers) {var isNav = 1; var isIE = 0; isNS6 = 0;}
else if(d.all) {var isIE = 1; var isNav = 0, isNS6 = 0;}
else if (d.getElementByID) {var isNS6 = 1; var isNav = 0, isIE = 0;}

for at mit forslag virker.
Avatar billede hans_ch Nybegynder
23. juli 2002 - 01:01 #5
Har fundet en anden løsning...
Brugte et div-element i stedet for en iframe...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester