событие textchange в jquery - PullRequest
       26

событие textchange в jquery

1 голос
/ 11 июля 2011

Сценарий

У меня есть текстовая область и ниже div, чтобы просмотреть, что пользователь пишет в текстовой области.Предварительный просмотр в элементе div сделан с событием keyup

Проблема

Я разрешаю пользователю перетаскивать некоторые поля списка втекстовая область, и когда пользователь перетаскивает элемент в текстовую область, я не могу сделать предварительный просмотр, пока пользователь не сделает ввод.Это связано с тем, что событие, связанное с текстовой областью, является keyup, поэтому я хочу знать событие ведьмы, которое я могу использовать, когда пользователь удаляет элемент в текстовой области, я могу получить значение и показать его в div.

Спасибо

ОБНОВЛЕНИЕ

КОД

HTML

<div id="divFields">
    <ul class="fieldStyle">
        <li class="ui-draggable">Prueba</li>
    </ul>
</div>  
<textarea id="txtMessageFields" name="txtMessageFields" class="required" cols="20" rows="2"></textarea>
<div id="messagePreview"></div> 

JS

/*****The called to the method that make the preview***/
$("#txtMessageFields").keyup(previewData);

/****Adding the drag and drop Event handler*****/
$("#divFields li").draggable({
    helper: "clone"
});


$("#divDroppedFields").droppable({
    accept: "#divFields li",
    drop: function (event, ui) {
        messageValue = '';
        messageValue = messageValue + $("#txtMessageFields").val();
        $("#txtMessageFields").val('');
        messageValue = messageValue + ' #' + ui.draggable.text() + '! ';
        $(this).find('#txtMessageFields').val(messageValue);
    }

/***Manage the preview about the user writing values ****/
function previewData() {
    $messageValues.html('');
    var aux = this.value.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '<br>');
    aux = aux.replace(/#/g, '<span class="fieldText">');
    aux = aux.replace(/!/g, '</span>');
   aux = '<p>' + aux + '</p>'
   if (aux)
        displayMessage = aux;

   $messageValues.append(aux);

}

Ответы [ 3 ]

1 голос
/ 11 июля 2011

Можете ли вы заменить приведенный ниже фрагмент кода и попробовать его?Я пытаюсь вызвать событие keyup textarea после завершения перетаскивания.

$("#divDroppedFields").droppable({
    accept: "#divFields li",
    drop: function (event, ui) {
        messageValue = '';
        messageValue = messageValue + $("#txtMessageFields").val();
        $("#txtMessageFields").val('');
        messageValue = messageValue + ' #' + ui.draggable.text() + '! ';
        $(this).find('#txtMessageFields').val(messageValue).trigger('keyup');
    }
1 голос
/ 11 июля 2011

Попробуйте это

$("textarea").mouseup(function(){ //code to update the preview container; });
0 голосов
/ 11 июля 2011

есть события под названием «dragstart», «ondragenter», «ondragover», которые поддерживаются Google Chrome, Firefox и IE 9+.

рядом, я думаю, вы можете jQuery UI: http://jqueryui.com/demos/droppable/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...