1

Установка: Say щелчок где-нибудь на этой странице, и у вас есть расширение Firefox, который отвечает вставив <div> с <input type="text"> в документ, расположенный в том месте, где вы нажали.Firefox дополнения и расширения: получение пользовательского ввода

Проблема: Я не могу заставить это текстовое поле принять ввод пользователя. Похоже, что это только чтение. Есть ли какая-то конфигурация, которую я должен установить в chrome.manifest или в другом месте? Получает ли пользовательский вход таким образом, разрешенным в расширениях Firefox? Если да, может кто-нибудь, пожалуйста, назовите меня в правильном направлении?

Примечание: Я смог установить значение с помощью prompt();, но я бы скорее просто набрал <input>, как обычно.

Заранее спасибо.

ответ

2

Вы используете event.preventDefault(), чтобы уловить щелчки мыши? Это может быть причиной того, что текстовое поле кажется только прочитанным –, он никогда не сможет сфокусироваться. Чтобы исправить это, используйте:

textbox.addEventListener('click', function(event) { 
    event.stopPropagation(); 
}, false); 

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

+0

Спасибо! Теперь это кажется таким очевидным, но даже не пришло в голову. 'Event.stopPropagation();' фактически находился в обработчике события 'keypress'. Полностью забыл, что он там. – stevelove