Очистка textarea JS

Использую на сайте:

<div class="TextArea">
    <textarea id="write" rows="2" cols="80"></textarea>
</div>

С помощью виртуальной клавиатуры (кусок кода)

$(function(){
var $write = $('#write'),
    shift = false,
    capslock = false;

$('#keyboard li').click(function(){
    var $this = $(this),
        character = $this.html(); // If it's a lowercase letter, nothing happens to this variable 
    
    // Shift keys 
    if ($this.hasClass('left-shift') || $this.hasClass('right-shift')) {
        $('.letter').toggleClass('uppercase');
        $('.symbol span').toggle();
        
        shift = (shift === true) ? false : true;
        capslock = false;
        return false;
    }
    
    // Caps lock 
    if ($this.hasClass('capslock')) {
        $('.letter').toggleClass('uppercase');
        capslock = true;
        return false;
    }
    
    // Delete 
    if ($this.hasClass('delete')) {
        var html = $write.html();
        
        $write.html(html.substr(0, html.length - 1));
        return false;
    }
    
    // Special characters 
    if ($this.hasClass('symbol')) character = $('span:visible', $this).html();
    if ($this.hasClass('space')) character = ' ';
    if ($this.hasClass('tab')) character = "\t";


    
    // Uppercase letter 
    if ($this.hasClass('uppercase')) character = character.toUpperCase();
    
    // Remove shift once a key is clicked. 
    if (shift === true) {
        $('.symbol span').toggle();
        if (capslock === false) $('.letter').toggleClass('uppercase');
        
        shift = false;
    }
    
    // Add the character 
    $write.html($write.html() + character);
});

});

Ввожу текст. И все работает хорошо. Но если я захочу очистить текст через

document.getelementbyid("write").value = "";

То текст очищается. Но перестает работать ввод с клавиатуры.. Что тут не так? Так же пробовал через jQuery чистить через val = "" и устанавливать удалять фокус.. эффект такой же.


Ответы (0 шт):