Nano Hash - криптовалюты, майнинг, программирование

Jquery Event Trigger Симуляция клавиатуры

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

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

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


Ответы:


1

Это текущее решение, работающее для 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();
        }
    }
}
07.06.2011
  • Даже будучи правильным ответом, не уверен, что Opera или Ie Working. 03.08.2011

  • 2
  • Вы тестировали? У меня не работает, я использую Firefox 3.6 в Mac OS. Не уверен, что это может быть проблемой. 01.06.2011
  • Чего именно вы пытаетесь добиться? Событие срабатывает, но если вы не привязали событие к вводу, вы не увидите многого. 01.06.2011
  • обновленная ссылка содержит событие, привязанное к входу, которое затем вызывается при запуске созданного вами события. . 01.06.2011
  • Я хотел бы поставить event.keyCode = 65; (Символ a) внутри ввода. Как и это решение, к сожалению, оно работает только для Firefox: misbehaves" title="сохранение положения каретки в видимой позиции при вводе текста. firefox misbehaves"> stackoverflow.com/questions/686053/ 01.06.2011
  • Спасибо, работает этот пример ... возможно, мое объяснение было не очень хорошим. 06.06.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..