Создать KeyEvent в Javascript

У меня следующая проблема: я перехватываю ключевое событие, и мне нужно создать новое измененное ключевое событие (поскольку кажется, что свойство keyCode доступно только для чтения), а затем обработать вновь созданное KeyEvent. Я наткнулся на несколько старых сообщений в StackOverflow, где обрабатываются похожие ситуации, но:

  • Мне нужно, чтобы это работало под Webkit /здесь есть решение в StackOverfow, но оно работает только в Gecko/

  • Мне нужно создать еще одно KeyEvent, но не TextInputEvent, поскольку TextInputEvent позволит мне указать только строку для вставки, в то время как я не могу этого сделать, поскольку использую сторонний инструмент, который должен обрабатывать это событие, и мне нужен код ключа.

  • Я пробовал jQuery#trigger(), но у меня это не сработает. Мой код выглядит следующим образом

    var event = jQuery.event('keydown');
    event.which = 13; //I'm trying to simulate an enter
    $('iframe').contents().find('document').find('body').trigger(event); //my content is inside an iframe
    

person asenovm    schedule 21.05.2012    source источник


Ответы (1)


person    schedule
comment
У меня нет времени создавать тестовый пример. Просто попробуйте. Спасибо - person Roko C. Buljan; 21.05.2012
comment
нет, по какой-то причине это не сработает, тело iframe найдено, но событие не срабатывает или его срабатывание ни к чему не приводит. Ошибок в логе не выдает. - person asenovm; 22.05.2012
comment
Я пошел дальше и использовал TextInputEvent и document.dispatchEvent(). Кажется, работает. - person asenovm; 22.05.2012
comment
@asenovm Отлично! Я рад, что ты это сделал! - person Roko C. Buljan; 22.05.2012