За последние 24 часа нас посетили 20976 программистов и 1700 роботов. Сейчас ищут 1604 программиста ...

Генерация событий js

Тема в разделе "JavaScript и AJAX", создана пользователем tretstoun, 6 сен 2018.

  1. tretstoun

    tretstoun Новичок

    С нами с:
    3 окт 2016
    Сообщения:
    58
    Симпатии:
    3
    Здравствуйте,


    не получается сгенерировать событие клавиатуры в ie. Как это можно сделать?

    Нужно сгенерировать клавиатурное событие и напечатать любой текст.



    Вот как я пытаюсь это сделать:


    function centr_show_function (cur_elem) {

    cur_elem.value = "";

    if (document.body.className == "ie_fix") {

    window.event.keyCode = 25;
    cur_elem.fireEvent('onkeydown', window.event);

    return;
    }





    if (document.body.className == "safari_fix") {

    var new_event = document.createEvent('TextEvent');
    new_event.initTextEvent('textInput',
    true,
    true,
    null,
    "test_word");

    }


    if ( (document.body.className != "safari_fix") && (document.body.className != "ie_fix") ) {


    var new_event = new KeyboardEvent ("keydown", {

    bubbles: true,
    cancelable: true,
    code: "KeyQ",
    keyCode: 81,
    key: "q"
    });

    }


    cur_elem.dispatchEvent(new_event);
    }




    Здесь описаны 3 способа. Пробовал всеми тремя - и ничего не получается.


    Кто-нибудь может подсказать как это можно сделать ещё по-другому?
     
  2. tretstoun

    tretstoun Новичок

    С нами с:
    3 окт 2016
    Сообщения:
    58
    Симпатии:
    3
    Нашёл, что это можно сделать с помощью функции trigger jquery.


    А как ввести какой-то определённый символ? Тоесть, напечатать какой-то текст?
     
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    Вставь вот это и пиши туда чего хочешь.
    HTML:
    1.  
    2. <textarea name="comment" cols="200" rows="100"></textarea>
    3.  
     
  4. tretstoun

    tretstoun Новичок

    С нами с:
    3 окт 2016
    Сообщения:
    58
    Симпатии:
    3
    Нужно это делать программой, а не самому с клавиатуры