Avatar billede oergaard Nybegynder
27. februar 2008 - 10:49 Der er 8 kommentarer og
2 løsninger

Sætte fokus på iframe med designmode on

Jeg er ved at lave en simpel WYSIWYG editor, hvortil jeg et par problemer.

1. Hvordan sætter jeg fokus på iframen i <body onLoad=???>

2. På hver af mine knapper, har jeg en onMouseover og en onMouseout som ændrer knappens style. Hvordan beholder jeg onMouseover stylet, hvis der klikker på knappen?

3. Pt. har jeg kun tre funktioner, fed, kursiv og understregning, som alle virker perfekt. Men hvordan kontrollere jeg løbende hvilke der er aktiveret i en given del af teksten i mine iframe.
Avatar billede oergaard Nybegynder
27. februar 2008 - 12:12 #1
Det første man bliver blind på er øjnene. Jeg havde lavet en fejl, hvorfor den ikke satte fokus på iframen. Pkt. 2 og 3 giver fortsat problemer, hvorfor hjælp hertil fortsat ønskes.
Avatar billede w13 Novice
27. februar 2008 - 15:45 #2
2)
Så må du sætte en global variable, som onmouseout kan læse. F.eks.:

<script type="text/javascript" language="javascript">
var btnClick=null;
function setVar(o){
  if(btnClick!=o)btnClick=o;
  else btnClick=null
}
</script>

<button onmouseover="ændre style" onclick="setVar(this)" onmouseout="if(btnClick==this)ændre style">

Mener jeg skulle gøre tricket.
Avatar billede w13 Novice
27. februar 2008 - 15:46 #3
3'eren burde måske have sit eget spørgsmål, da den kan være meget omfattende og afhænge meget af, hvordan din kode ser ud.
Avatar billede oergaard Nybegynder
27. februar 2008 - 16:03 #4
w13> Jeg havde overvejet fordelingen, men efter som jeg udmærket var klar over at omfanget af 1 og 2 ikke var så store samtidigt med at antallet af point er helt i top, finder jeg det selv rimeligt, at have alle tre spørgsmål her inde.

Venligst
Oergaard
Avatar billede w13 Novice
27. februar 2008 - 16:06 #5
Det var mere for, at folk ikke skal læse alle indlæggene om 1) og 2) igennem for at kunne hjælpe dig med den avancerede 3'er. =)
Avatar billede oergaard Nybegynder
27. februar 2008 - 16:12 #6
Mht. mind kode så er den som følgende:
<script language="javascript">
  function init() { iView.document.designMode = 'On'; }
  function command (cmd,cmd2) { iView.document.execCommand(cmd, false, cmd2); }
  function btnOver(btn) { btn.style.background = '#B5BED6'; }
  function btnOout(btn) { btn.style.background = 'none'; }
</script>
<body onload="init(); iEdt.focus();">
  <iframe id="iEdt" style="width: 400px; height:200px;"></iframe>
  <img class="btn" src="images/bold.gif" onMouseOver="btnOver(this)" onMouseOut="btnOut(this)" onClick="command('bold','null')">
</body>
Avatar billede oergaard Nybegynder
27. februar 2008 - 16:30 #7
Ad 3)
Jeg havde forestillet mig, at jeg på iframen kunne lave en onKeypress hændelse, men jeg ved ikke hvordan jeg kontrollere for om en af commandoerne er aktiv på en aktuelt sted i "dokumentet".

Ad 2)
Jeg havde forestillet mig, at ad 3 ville løse denne, ved at jeg i onMouseout hændelsen ville kører samme funktion som i onKeypress hændelsen.
Avatar billede oergaard Nybegynder
06. marts 2008 - 21:44 #8
Det ser ikke ud til at der kommer en løsning :-(

w13> Smider du ikke er svar, så får du nogle point som tak for din deltagelse :-)
Avatar billede w13 Novice
06. marts 2008 - 21:49 #9
Oki! =)
Avatar billede oergaard Nybegynder
07. marts 2008 - 06:47 #10
Tak for deltagelsen... :-)
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