2013-10-09 2 views
0

У меня есть следующие функции:TamperMonkey стимулируют нажмите ввод не работает

var e = jQuery.Event("keydown"); 
e.which = 16; // # Some key code value 
$("textarea.my_input").trigger(e); 

Однако, это не работает (селектор является правильным, так как если я фокус(), она работает).. Мне интересно, что я сделал с ним что-то не так? Это кажется очень простым, но я не могу заставить его работать. Или я могу сделать это лучше?

+1

Вы не можете _really_ стимулировать нажатие другой, чем на код, который вы зарегистрировать, так как он не будет доверять событие. –

+0

@BenjaminGruenbaum Так что это невозможно в этом случае? – jackhao

+0

Кажется, вы пытаетесь добавить фид строки в текстовое поле. Проще всего было бы использовать '.each()' для итерации по всем элементам и вручную добавить LFCR, используя '.val()'. – Kiruse

ответ

0

ли что-то вроде:

$(document).ready(function() { 
    $(document).on("keydown", function(e) {   
     $("textarea.my_input").focus();   
     $("textarea.my_input").append(String.fromCharCode(e.which));   
    }); 
}); 

jsFiddle

+0

Привет, я не худею, потому что my_input отправлен после нажатия ввода. Я не просто добавляю \ n в текстовое поле. :-) – jackhao

+0

см. Мое редактирование. Вы посмотрели мой предыдущий код. и вы можете заблокировать ключ ввода извне. но это основная идея. – Dvir

+0

Привет, большое спасибо за вашу помощь, но он не нажимает enter :(фокус работает отлично, поэтому, по крайней мере, я знаю, что мой селектор правильный. – jackhao

Смежные вопросы