Симуляция клавиатуры триггера событий Jquery - PullRequest
0 голосов
/ 01 июня 2011

я делаю минимальный пример http://jsfiddle.net/PSYCKIC/SQZVH/1/

Не могу заставить его работать, но идея состоит в том, чтобы смоделировать событие клавиатуры как нажатие клавиши, нажатие клавиши или нажатие клавиши, которая работает для каждого браузера (Firefox,Safari, Chrome, IE).

Не уверен, почему код не работает, есть идеи, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Это текущее решение, работающее для Chrome и Firefox, все еще нужно проверить, работают ли Opera и IE

// put cursor and input text in correct position

function setCaretPosition(elem, caretPos) {
    if (elem != null) {
        if (elem.createTextRange) {
            var range = elem.createTextRange();
            range.move('character', caretPos);
            range.select();
        }
        else {

            if (elem.selectionStart) {
                elem.setSelectionRange(caretPos, caretPos);
                elem.focus();

                // Workaround for FireFox overflow no scroll problem
                if ($.browser.mozilla) {

                    // Trigger a "space" keypress.
                    var evt = document.createEvent("KeyboardEvent");
                    evt.initKeyEvent("keypress", true, true, null, false, false, false, false, 0, 32);
                    elem.dispatchEvent(evt);

                }
                // for webkit 
                if ($.browser.webkit || $.browser.msie) {
                    var te = document.createEvent('TextEvent');
                    // Trigger a "space" keypress.
                    te.initTextEvent('textInput', true, true, window, ' ');
                    elem.dispatchEvent(te);
                }

            }
            else
                elem.focus();
        }
    }
}
0 голосов
/ 01 июня 2011
$("#test").trigger(event.type);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...