Bom pessoal to com uma duvida de como fazer, todos ou quase todos aqui usam twitter ou facebook, quando vamos digitar uma hashtag o fundo do texto vai ficando azul (tem com @ também só não bati o print.), eu estou tentando fazer isso em js usando o .keyup(); em uma div[contenteditable=true], estou fazendo com o php passando o texto por jQuery e retornando o texto caso haja @ e adicionando uma class e um span, funciona mais sempre ele retorna o texto a cursor text q fica na div[contenteditable=true] ele sempre volta pro inicio(lado esquerdo) da div e quando boto no começo o texto(lado direito) edita e talz mais volta pro começo o cursor(lado esquerdo) denovo. Sei que pode haver outro método mais já pesquei é não achei nada parecido. COD JS Código: $(document).ready(function(){ $("#text_publica").keyup(function(){ var text = $("#text_publica").text(); var dataString = 'nome='+text; $.ajax({ type: 'post', url: 'pages/validate_nm.php', data: dataString, cache: false, success: function(data){ $("#text_publica").html(data); $("#text_publica").focus(); } }); }); }); COD PHP Código: <?php session_start(); include('main_bd.php'); include 'data.class.php'; if(isset($_POST['nome'])){ $txt = $_POST['nome']; $txt = preg_replace('/\B@([\d\w_]+)/i', '<span class="tag">$0</span>', $txt); echo $txt; } ?> Me veio um interesse em fazer isso tive essa ideia em fazer com jquery+php não sou um expert nessa area de js mais me viro quando é preciso, nesse caso preciso da ajuda de vocês, se souberem fazer de outro jeito ou fazer que o cursor text sempre fique a frente da ultima caractere logo no final do texto já e um começo. Obrigado desde já.,[]'s
$(document).ready(function(){ $("#text_publica").keyup(function(){ var text = $("#text_publica").text(); var dataString = 'nome='+text; $.ajax({ type: 'post', url: 'pages/validate_nm.php', data: dataString, cache: false, success: function(data){ $("#text_publica").html(data); $("#text_publica").focus(); } }); }); });
<?php session_start(); include('main_bd.php'); include 'data.class.php'; if(isset($_POST['nome'])){ $txt = $_POST['nome']; $txt = preg_replace('/\B@([\d\w_]+)/i', '<span class="tag">$0</span>', $txt); echo $txt; } ?>
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Regras do Fórum