Теперь я поймаю события щелчка мыши на элементах textarea.Проблема, связанная с MouseEvents
Поскольку я должен прекратить распространение после обработки события, карет не будет установлен как обычно, когда мы будем использовать щелчок по текстовым полям со средним ключом. Но мне нужно установить его перед выполнением дальнейших работ, поэтому я попытался вручную отправить событие мыши.
Мой код:
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 1, origEvt.screenX, origEvt.screenY,
origEvt.clientX, origEvt.clientY, false, false, false, false, 0, null);
origEvt.target.dispatchEvent(evt);
...
Этот код пытается имитировать левой кнопкой мыши на одном элементе в том же положении. Отправленное событие можно поймать, но, однако, каретка не установлена.
Может ли кто-нибудь вести меня, как это сделать?
есть ли причина, по которой пользователь не должен оставлять клик, чтобы установить положение каретки? Это будет ожидаемое поведение, и редко есть веская причина для изменения ожидаемого поведения. –
@Jonathan: Это расширение расширений firefox, и когда пользователь посещает элемент ввода, он будет вставлен туда независимо от позиции каретки. –