Thomas Schmieder: Tipp für Olaf Schneider und Orestes; designMode=On

Beitrag lesen

Hi,

die andere Variante, die wir angedacht haben, ist die:

<!-- ----------------------------------------------------- -->
<html><head><title>Test</title>
<script type="text/javascript">
<!--
ausgabestr="Druecken Sie irgendwelche Tasten!";
cursorpos=0;

function get_cursor_str()
{
  cursorStr = "<span style='background-color:cyan;'>" +
  ausgabestr.substr(cursorpos,1) + "</span>";
  return cursorStr;
}

function ausgabe()
{
  // alert("Sie haben die Taste mit dem Wert " + window.event.keyCode + " gedrueckt");

cursorstr=get_cursor_str();

document.getElementById("textfeld").innerHTML =
    ausgabestr.substr(0,cursorpos) +
    cursorstr +
    ausgabestr.substr(cursorpos+1,65335);
}

//window.captureEvents(Event.KEYDOWN);   // für Netscape. Geht aber nicht
//window.onkeypress = cap;

//function cap(ereignis)
//{
//  alert(ereignis.which);
//}

function move_cursor()
{
  var taste=window.event.keyCode;

switch(taste)
  {
    case 37:
      cursorpos--;
      if (ausgabestr.substr(cursorpos,1)==">")
      {
        do
        {
          cursorpos--;
        }
        while (ausgabestr.substr(cursorpos,1)!="<");
        cursorpos--;
      }
      break;

case 39:
      cursorpos++;
      if (ausgabestr.substr(cursorpos,1)=="<")
      {
        do
        {
          cursorpos++;
        }
        while (ausgabestr.substr(cursorpos,1)!=">");
        cursorpos++;
      }
      break;
  }
  ausgabe();
}

function tastendruck()
{
  ausgabestr=ausgabestr.substr(0,cursorpos)
            +String.fromCharCode(window.event.keyCode)
            +ausgabestr.substr(cursorpos,65535);

cursorpos++;
  ausgabe();
}

function init1()
{
  ausgabe();
}

//-->
</script>
</head>
<!--
<body onKeyDown="ausgabe();">
-->
<body onkeyDown="move_cursor();" onKeyPress="tastendruck();" onLoad="init1();">

<div ID="textfeld"></div>

</body></html>
<!-- ----------------------------------------------------- -->

Das ist nur ein Funktionsmodell und müsste auch in Netscape und Mozilla zum Laufen zu bringen sein. Nur mit der capture.Events-Methode tu ich mich noch so schwer. Muss ich in Netscape dafür nun onKeyDown und onKeyPress rauslassen?

Wie kann ich die beiden Handler unter Netscape anmelden?

Und unter Opera kann man auf diese Weise nicht in das DIV hineinschreiben. Was müsste ich da anders machen?

Oh Orestes, da hast Du was angerichtet *ggg*

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.