2010-02-10 43 views
5

Actualmente estoy desarrollando una herramienta de conversión de texto a símbolo (sin ánimo de lucro), y estoy teniendo este problema evento jHtmlArea:manejo de pulsación de tecla

Para el WYSIWYG Editting del texto, I' Me gusta usar un pequeño y agradable editor wysiwyg (como jHtmlArea). Este editor puede mostrar divs flotando, así que voy a tener que interceptar una gran cantidad de

Actualmente, mi área HTML se cargan de la siguiente teclas (espacios/flechas/etc):

<script type="text/javascript">  
$(function() { 
      $("#txtCustomHtmlArea").htmlarea({ 
       loaded: function() { 
       $(this.editor).keydown(function(event) { 
        if(event.keyCode == 32) { 
         this.pasteHTML('<b>test</b>'); 
         return false; 
        } 

        return true; 
       }); 
      } 

El problema con este el código es que this.editor no tiene el método pasteHTML. ¿Cómo puedo usar este método desde este (= htmlarea) .event?

Probablemente esta sea una pregunta bastante para principiantes, pero realmente no tengo ni idea de dónde mirar.

Gracias

Respuesta

0

Creo que estás recibiendo tal vez confundido con el uso de 'esto' (Definitivamente estoy luchando para no perder de vista lo que se refiere al!).

Como prueba, se puede sustituir el

this.pasteHTML(...) 

con

$("#txtCustomHtmlArea").pasteHTML(...) 

o tal vez

$("#txtCustomHtmlArea").editor.pasteHTML(...) 

y ver si eso ayuda?

1

Así es como lo hago:

$("#my-text-area").htmlarea({ 
     loaded: function() { 
      $.myControl = { jhtmlarea: this }; 
     } 
    }); 

Entonces puede hacer referencia a:

$($.myControl.jhtmlarea.editor.body).keypress(function (e) { }); 

Esto también me da un identificador para el objeto de mi área de html desde fuera del marco flotante.

+0

nice one mate. limpiar. –

Cuestiones relacionadas