Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LeoMx

Como trocar textos enquanto o usuário digita?

Recommended Posts

galera é o seguinte, eu estou tentando fazer um código que troca o que o usuário está digitando como no twitter por exemplo, ao digitar um link como www.oi.com.br retornaria <a href="http://www.oi.com.br" target="_blank">www.oi.com.br</a> e deu certo.

Eu faço essas modificações dentro de um <div contenteditable="true" /> porém quando eu digito www.oi.com.br, ao retornar o link, o ponteiro volta para o inicio e quando digito algo acontece uma confusão com o mesmo ponteiro :(

segue os codigos abaixo:

$( document ).on('keyup', "#nav_top_td_caixa", function(evento){
	
		var html = $('#nav_top_td_caixa').html();
		
		if(evento.keyCode == 32 ){ // se apertar o espaço.

			console.log(gerar_url(html));
			if(ver_url(html) == true){ //se haver uma url 
			$('#nav_top_td_caixa').html(gerar_url(html));// o link será gerado
	
			}
		}


		
	
});

quem quiser a função de gerar links ..

editada por mim simples assim:::

function gerar_url(s) {
	return s.replace(/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.-]+[.][a-z]{2,4}\/)(?:(?:[^\s()<>.]+[.]?)+|((?:[^\s()<>]+|(?:([^\s()<>]+)))))+(?:((?:[^\s()<>]+|(?:([^\s()<>]+))))|[^\s`!()[]{};:'".,<>?«»“”‘’]))/gi,"<a target='_blank' href='$1' class='alink'>$1</a>");
}

se o texto for link retorna true :::: else :::: retorna false; ;)

 

ajudem galera kk

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites


$('textarea').keypress(function(e){

var reg = /(https?:\/\/(([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?))/ig;

var code = e.keyCode || e.which;

if(code == 32) {

$(this).val( $(this).val().replace(reg, '<a href="$1" title="">$1</a>') );

}

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.