Запретить запись в TextArea с помощью изменения свойств ввода Bind Event

Я обрабатываю содержимое внутри текстового поля, используя привязку функции к событию «изменение входного свойства».

Как это:

$('#textarea').bind('input propertychange', function () {    
    var textarea = document.getElementById('textarea');    
    window.lastLineWriting = textarea.value.substr(0, textarea.value.length).split("\n").length;                    
    var writingOnLine = textarea.value.substr(0, textarea.selectionStart).split("\n").length;                  
    if (writingOnLine < window.lastLineWriting) {
        //dont write on textarea
    }
});

Я не знаю, как предотвратить появление символа, набранного клавиатурой пользователя, в текстовой области... Внутри этого, если я хочу предотвратить вставку текста в текстовую область... Как я могу это сделать?


person TiagoM    schedule 21.07.2014    source источник
comment
Что вы хотите напечатать в текстовой области?   -  person rdanusha    schedule 21.07.2014
comment
Что ты имеешь в виду ? Внутри этого If () {} я хочу отключить текст, который будет вставлен в текстовую область   -  person TiagoM    schedule 21.07.2014


Ответы (1)


вы можете легко запретить пользователю вводить этот код, используя jQuery:

$('textarea').bind('keypress', function (e) {
    e.preventDefault();
    return false;
});

ПРИМЕЧАНИЕ:

этот код не позволит пользователю печатать во всех текстовых областях, чтобы привязать его конкретно к одному или нескольким выбранным элементам, вы должны изменить селектор на нужные элементы.

person Amin Jafari    schedule 21.07.2014
comment
Ты мой спаситель :D Большое спасибо! Решено! - person TiagoM; 21.07.2014
comment
Кстати, как я могу изменить текст текстового поля внутри функции, которую я привязываю к нажатию клавиши события? Я использую что-то вроде этого: textarea.value = textarea.value + testing..; но это не работает, текстовое поле не меняет текст - person TiagoM; 21.07.2014
comment
вы должны использовать $(this).val($(this).val()+'testing...');, но только если вы используете его внутри функции нажатия клавиши. - person Amin Jafari; 21.07.2014
comment
Ну, я использовал так: var textarea = document.getElementById('textarea'); textarea.value = textarea.value + \nCommand›; и сработало сейчас: D в любом случае спасибо! - person TiagoM; 21.07.2014