2014-01-16 3 views
0

Я изучаю JavaScript и проверяю вещи. Я сделал текстовую область, которая принимает некоторый код html и выводит результат. Он хорошо работает, но я хочу, чтобы всякий раз, когда вводился тег, например <h1>, цвет должен меняться от белого до красного. Это мой код, который не делает этого, пожалуйста, помогите мне в фиксировании его ..Настройка цвета текста в текстовом поле на ходу

Код:

<script> 
    $("#_co").on("input propertychange", function(){ 
     $("#out").html($("#_co").val()); 
     var text = jQuery("#_co").val(); 
     if (text.contains("<")){ 
      text.css('color','red'); 
     } 
    }); </script> 
+0

Вы можете изменить цвет всего текста в текстовом поле, но вы не можете изменить цвет только части текста. – adeneo

+0

О, я вижу, у вас есть обычный HTML под текстовым полем, вроде как переполнение стека, и вы хотите изменить цвет тегов. Что вам нужно сделать, так это посмотреть на синтаксические выделения, есть много доступных в javascript, и они в основном отлично работают. – adeneo

+0

посмотреть на http://codemirror.net/ –

ответ

0

Что-то как этот ниже?

Fiddle

$("#dummy").blur(function(){ 
    var color = $(this).val()=='' ? 'red' : 'white'; 
    $(this).css('background-color', color); 
}); 
1

Там нет прямой способ добиться того же, но это поможет вам работать вокруг

jsfiddle

Pls посмотрите

function divClicked() { 
var divHtml = $(this).html(); 
var editableText = $("<textarea />"); 
editableText.val(divHtml); 
$(this).replaceWith(editableText); 
editableText.focus(); 
// setup the blur event for this new textarea 
editableText.blur(editableTextBlurred); 
} 

function editableTextBlurred() { 
var html = $(this).val(); 
var viewableText = $("<div>"); 
viewableText.html(html); 
$(this).replaceWith(viewableText); 
// setup the click event for this new div 
viewableText.click(divClicked); 
} 

$(document).ready(function() { 
$("div.div").click(divClicked); 
}); 
Смежные вопросы