Foros del Web » Creando para Internet » HTML »

focus contenteditable compatible

Estas en el tema de focus contenteditable compatible en el foro de HTML en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original article{         height:130px;         overflow:hidden;         transition:height 2s;     ...
  #1 (permalink)  
Antiguo 24/01/2012, 07:43
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
focus contenteditable compatible

Código HTML:
Ver original
  1. article{
  2.         height:130px;
  3.         overflow:hidden;
  4.         transition:height 2s;
  5.         -webkit-transition:height 2s;
  6.         -ms-transition:height 2s;
  7.         -op-transition:height 2s;
  8.         -moz-transition:height 2s;
  9.     }
  10. article:focus{
  11.         height:280px;
  12.         outline:none;
  13. }
  14.  
  15. <article contenteditable="true">
  16.                                 <h3 contenteditable="false">titulo</h3>
  17.                                 <img src="img/quien.gif" width="800" height="100" contenteditable="false"/>
  18.                                 <p contenteditable="false">un texto cualquiera</p>
  19.  
  20.                             </article>

En chrome me funciona estupendamente.
En Firefox y ie, el contenido de la p y la imagen siguen siendo editables, los puedo borrar, mover...
Alguién sabe como corregir esto? como puedo hacer para que no se pueda modificar nada y me haga el focus?
  #2 (permalink)  
Antiguo 24/01/2012, 13:04
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: focus contenteditable compatible

Esta no es una solución tan solo una aproximación
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5. <style type="text/css">
  6. /*<![CDATA[*/
  7. article{
  8.        height:130px;
  9.        overflow:hidden;
  10.        transition:height 2s;
  11.        -webkit-transition:height 2s;
  12.        -ms-transition:height 2s;
  13.        -op-transition:height 2s;
  14.        -moz-transition:height 2s;
  15.    }
  16.  
  17. article:focus{
  18.        height:280px;
  19.        outline:none;
  20. }
  21. /*]]>*/
  22. <script type="text/javascript">
  23. //<![CDATA[
  24. function desactivar(){
  25. document.getElementById('xxx').contentEditable= false;
  26. }
  27. function activar(){
  28. document.getElementById('xxx').contentEditable= true;
  29. }
  30. //]]>
  31. </head>
  32. <article id="xxx" contenteditable="true">
  33. <h3>titulo</h3>
  34. <img src="correcto01.png" width="800" height="100" alt="" onmouseover="desactivar();" onmouseout="activar()"/>
  35. <p onclick="desactivar();" onmouseout="activar()">un texto cualquiera</p>
  36. </body>
  37. </html>

Fijate que el h3 sigue siendo editable porque no contiene los eventos de javascript.
Por lo visto lo del conteneditable lo pusiste para que el article recibiera el focus, pero si no vas a editar nada, quizás sea más práctico usa la pseudoclase :hover.

El efecto lo veo individualmente, pero habría que analizar el conjunto de la aplicación
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 25/01/2012, 01:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: focus contenteditable compatible

Gracias por responder,

no he utilizado el hover, ya que se va a usar también en tablets y en móviles.

He estado haciendo pruebas con el código que me pasas, pero sigo sin solucionar el problema, firefox e ie los elementos siguen siendo editables.

La solución que he tomado es javascript, a través de funciones le cambio el tamaño.

un saludo

Etiquetas: compatible, focus
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:30.