2015-07-11 2 views
1

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

<form> 
First name:<br> 
<input type="text" id="thename" name="firstname"> 
</form> 

Простая вещь - добавить значение для ввода с классическим элементом element.value .... Но что, если я хочу добавить, например, «Дэвид», моделируя событие нажатия клавиши?

Я последовал за несколько подходов, как это:

function simulateKeyEvent(character) { 
    var evt = document.createEvent("KeyboardEvent"); 
    (evt.initKeyEvent || evt.initKeyboardEvent)("keypress", true, true, window, 
        0, 0, 0, 0, 
        0, character.charCodeAt(0)) 
    var canceled = !body.dispatchEvent(evt); 
    if(canceled) { 
    // A handler called preventDefault 
    alert("canceled"); 
    } else { 
    // None of the handlers called preventDefault 
    alert("not canceled"); 
    } 
} 

Взятые из here и читать почти каждое решение, но они не работали.

Примечание: Я работаю в Firefox и Chrome

ответ

0

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

function typeToInput(id, str){ 
    var ctr = 0; 
    var tmr = setInterval(function(){ 
     document.getElementById(id).value += str[ctr]; 
     ctr++; 
     if(ctr >= str.length) clearInterval(tmr); 
    }, 250); 
} 

, хотя, вы, вероятно, хотите, чтобы отменить таймер и очистить текст, если вход получает фокус ..

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

  • Нет связанных вопросов^_^