Estoy trabajando en un software de tipeo en línea. En el software de tipeo, todo va bien, pero tengo el problema de usuarios deshonestos que posiblemente tipean el texto en el área de texto, lo copian, luego vuelven a cargar la página (restableciendo el temporizador) y la pegan de inmediato. Así que estaba pensando en utilizar algo como evt.preventDefault();
cuando javascript detecta la presión del botón ctrl/cmd junto con la clave C
. Pero luego me di cuenta de que el usuario siempre podía ir a la barra de menú para presionar Edit -> Copy
. Entonces me preguntaba, ¿hay un método de navegador cruzado para deshabilitar ambos métodos de copia?Método de navegador cruzado para evitar todos los métodos de copia de texto desde un área de texto?
Método de navegador cruzado para evitar todos los métodos de copia de texto desde un área de texto?
Respuesta
Usted puede tratar de utilizar el siguiente código de jQuery:
$('input[type=text],textarea').bind('copy paste cut drag drop', function (e) {
e.preventDefault();
});
ah, gracias por la edición. – selo
Puedo preguntar, ¿qué hace el enlace (sección 'copiar pegar cortar' de su código? Gracias! – think123
vincular la función conecta los controladores de eventos a sus elementos. "Copiar pegar cortar" nos dice, qué eventos deben desencadenar la función adjunta. – selo
Puede bloquear algunos eventos, pero la prevención de este tipo de comportamiento de usuario no es posible. El usuario siempre puede copiar texto del nodo DOM a través de la consola del navegador.
Sí, porque todos saben cómo sacar la consola y comenzar a manipular dom – Esailija
Oh DOM manipulación no es un problema, quiero decir si el usuario no entendió y manipulación del DOM, y solo sabía cosas como Editar -> Copiar y hacer clic con el botón derecho -> Copiar (el clic derecho no es un problema) y CTRL-C y CMD-C. Eso es lo que más me preocupa. – think123
@ think123 que no funciona si 'previeneDefault()' de cortar/pegar/copiar eventos AFAIK – Esailija
Usted tal vez podría hacer algo como:
var txtArea = document.getElementById("YourTextAreaId");
txtArea.oncopy = function() { return false; }
txtArea.onpaste = function() { return false; }
txtArea.oncut = function() { return false; }
Pero incluso entonces, el usuario puede copiar el contenido por otros medios, como se sugiere en su pregunta.
Enlazar los controladores de eventos y prevenir la función de portapapeles, como por ejemplo:
$('textarea').on('copy paste cut drag drop', function (e) {
e.preventDefault();
});
@Downvoter, ¿hay algún problema con mi respuesta? Por favor explica para que pueda mejorarlo. – Starx
- 1. Método de navegador cruzado para configurar ScrollTop de un elemento?
- 2. Copia de texto con color desde Notepad ++
- 3. Creación de un área de texto falso
- 4. área de texto dentro div
- 5. Resaltar texto dentro de un área de texto
- 6. Cómo leer línea por línea desde un área de texto
- 7. ¿Cómo debo desinfectar correctamente los datos recibidos de un área de texto cuando los devuelvo al área de texto?
- 8. ¿Cómo puedo incrustar un área de texto dentro de otra área de texto en HTML?
- 9. navegador Cruz "salto a"/"scroll" área de texto
- 10. jQuery ajustar el texto seleccionado en un área de texto
- 11. Capturar texto pegado en un área de texto con JQuery
- 12. ¿Cómo obtengo los contenidos de texto de un área de texto con webdriver?
- 13. Limitar palabras en un área de texto
- 14. Imprimir solo un área de texto
- 15. de entrada: Texto + selector de área de texto en jQuery
- 16. Sangría automática de área de texto "inteligente"
- 17. Implementando un área de texto redimensionable?
- 18. creando un área de texto con javascript
- 19. ¿Cómo hacer un cuadro de texto y un área de texto con cruzadores de mismo ancho?
- 20. Cómo bloquear la primera palabra de un área de texto?
- 21. jquery área de texto de crecimiento automático versus texto inicial
- 22. Desactivación de Área de texto de CSS
- 23. HTML Área de texto de desplazamiento horizontal
- 24. Enviar datos desde el área de texto presionando "Enter"
- 25. ¿Existe una solución de navegador cruzado para getSelection()?
- 26. ¿Cómo simular un caret artificial en un área de texto?
- 27. Restringir el Área de texto para no aceptar 250 caracteres
- 28. ¿Complemento para intellisense en un área de texto?
- 29. Ese área de texto de nulidad
- 30. representación HTML dentro de área de texto
proporcionar su enlace al sitio web – Kamal
@ think123: tengo una solución para su pregunta borrado anterior (¿cómo es que mi código PHP MySQL sólo muestra un td) –
oh, eso está resuelto (creo). Lo siento por eso. – think123