Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme

TEMA: How insert smile at cursor position?

How insert smile at cursor position? 5 años 6 meses ago #20953

  • dizmer
  • Avatar de dizmer
  • Offline
  • Visitante
  • Mensajes: 3
  • Karma: 0
How insert smile at cursor position?
insertSmile: function(text) {
var textarea = document.forms.kideForm.txt;
textarea.value += " "+text;
textarea.focus(textarea.value.length - 1);
}

com_kide/js/base.js
El administrador ha desactivado la escritura pública.

How insert smile at cursor position? 5 años 5 meses ago #20955

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
Hi,

change
insertSmile: function(text) {
		var textarea = document.forms.kideForm.txt;
		textarea.value += " "+text;
		textarea.focus(textarea.value.length - 1);
	},
by
insertSmile: function(text) {
		kide.insertAtCaret(document.forms.kideForm.txt, text);
	},
	insertAtCaret: function(element,text) {
		var txtarea = element;
		var scrollPos = txtarea.scrollTop;
		var strPos = 0;
		var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? 
			"ff" : (document.selection ? "ie" : false ) );
		if (br == "ie") { 
			txtarea.focus();
			var range = document.selection.createRange();
			range.moveStart ('character', -txtarea.value.length);
			strPos = range.text.length;
		}
		else if (br == "ff") strPos = txtarea.selectionStart;
 
		var front = (txtarea.value).substring(0,strPos);  
		var back = (txtarea.value).substring(strPos,txtarea.value.length); 
		txtarea.value=front+text+back;
		strPos = strPos + text.length;
		if (br == "ie") { 
			txtarea.focus();
			var range = document.selection.createRange();
			range.moveStart ('character', -txtarea.value.length);
			range.moveStart ('character', strPos);
			range.moveEnd ('character', 0);
			range.select();
		}
		else if (br == "ff") {
			txtarea.selectionStart = strPos;
			txtarea.selectionEnd = strPos;
			txtarea.focus();
		}
		txtarea.scrollTop = scrollPos;
	},
Última Edición: 5 años 5 meses ago por JoniJnm.
El administrador ha desactivado la escritura pública.

How insert smile at cursor position? 5 años 5 meses ago #20957

  • dizmer
  • Avatar de dizmer
  • Offline
  • Visitante
  • Mensajes: 3
  • Karma: 0
Thanks!
But
insertSmile: function(text) {
		text = ' '+text+' ';
		kide.insertAtCaret(document.forms.kideForm.txt, text);
	}
that's better ;)
El administrador ha desactivado la escritura pública.
Tiempo de carga de la página: 0.145 segundos