2012-05-21 3 views
3

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

  • мне это нужно, чтобы работать под 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 
    

ответ

2
(function($){ 
    $(window).load(function(){ 

     var e = $.Event("keydown"); 
     e.which = 13; 
     e.keyCode = 13; 
     $('iframe').contents().find('html, body').trigger(e); 

    }); 
})(jQuery); 
+0

Это было то, что легко потом. Попробуем, спасибо. – asenovm

+0

У меня нет времени на создание тестового примера. Просто попробуй. Спасибо –

+0

Нет, по какой-то причине это не работает, тело iframe найдено, но событие не запускается или не запускает его, что ни к чему не приводит. В журнале нет ошибок. – asenovm