corrector ortográfico = falso en elementos contentEditable

2 minutos de lectura

avatar de usuario de medihack
medihack

Para los elementos de entrada normales, puede desactivar la revisión ortográfica mediante el uso de un atributo HTML (al menos en FF). Lo mismo spellcheck="false" no parece funcionar en un elemento contentEditable. ¿Existe otra solución para los elementos contentEditable?

  • Como se menciona en la respuesta de Adam Pascoe, la desactivación del corrector ortográfico para todo el documento parece funcionar (2022+), aunque sea un poco… drástico. <body spellcheck="false">

    – oelna

    hace 11 horas


No estoy seguro de si esto es a lo que te refieres, pero estaba teniendo un problema similar al eliminar el subrayado del corrector ortográfico de los elementos contentEditable. El problema es que cuando configuras el spellcheck atributo a falso, cualquier palabra que haya sido subrayada por errores ortográficos mantendrá este subrayado hasta que se concentre en el elemento contentEditable.

El siguiente truco debería hacer el truco:

element.spellcheck = false;
element.focus();
element.blur();

¡Espero que ayude!

En Gecko todo contenteditable los elementos revisan la ortografía en función de la spellcheck atributo/propiedad en el <body> elemento.

  • No parece funcionar para mí en una instalación limpia (solo Firebug) de FF4. Al menos cuando lo configuré a través de Firebug.

    – medihack

    08/04/2011 a las 23:16

  • data:text/html,<div contenteditable>Fe Fi Fo Fum me muestra como mal escrito. data:text/html,<body spellcheck=false><div contenteditable>Fe Fi Fo Fum no es.

    – Neil

    9 de abril de 2011 a las 16:09

Avatar de usuario de Adam Pascoe
Adán Pascoe

Basado en lo que dijo Neil, se me ocurrió este tipo:

$('body').attr("spellcheck",false)

De forma predeterminada, todos mis divs editables no usaron el corrector ortográfico. Planeo usar .blur y .focus para habilitar el corrector ortográfico para divs individuales según sea necesario.

  • No hay necesidad de jQuery para algo tan simple: document.body.setAttribute('spellcheck', false);

    – Stephen Jenkins

    08/01/2014 a las 16:41


Incluso sin tener en cuenta los errores del navegador, no puede desactivar la revisión ortográfica, todo lo que puede hacer es sugerirle al agente de usuario que no revise la ortografía. Si miras el sección de la especificación donde describe el algoritmo para determinar qué se puede revisar ortográficamente aquí están los dos primeros pasos:

  1. Si el usuario ha deshabilitado la verificación de este texto, entonces la verificación está deshabilitada.
  2. De lo contrario, si el usuario ha forzado que la verificación de este texto esté siempre habilitada, entonces la verificación está habilitada.

Las preferencias del usuario siempre anulan los atributos.

¿Ha sido útil esta solución?