Внутри функции у меня есть обработчик событий. Все идет нормально. Но в этом случае обработчик, который я хочу захватить Введите нажав и замените это для HTML.Обработчик обработчика кросс-браузера должен зафиксировать [ENTER]
Я сделал это так:
CrossBrowserEventHandler(Editor, 'keyup', function(Event) { myFunctionRef(idname, Event) });
var myFunctionRef = function myFunction(idname, Event)
{
var keyCode;
if (!Event && window.event) {
Event = window.event;
}
if (Event) {
keyCode = (window.Event) ? Event.which : Event.keyCode;
if (keyCode == 13) {
Event.target.ownerDocument.execCommand("inserthtml",false,'<br />');
Event.returnValue = false;
}
}
PushText(idname); /* pushes the input from a rich text iframe to a textarea */
}
Поперечное функция браузера обработчик событий выглядит следующим образом:
function CrossBrowserEventHandler(target,eventName,handlerName)
{
if (target.addEventListener) {
target.addEventListener(eventName, handlerName, false);
}
else if (target.attachEvent) {
target.attachEvent("on" + eventName, handlerName);
}
else {
target["on" + eventName] = handlerName;
}
}
В первой части я захватить 13 (группы клавиш возврата) и заменить это через execCommand для разрыва строки HTML. Он делает это, но дважды. Он не отменяет/не удаляет фактическое событие с возвратом.
Любые идеи (помимо стандартных рекомендаций по использованию JS-фреймворка, которые я не могу по многочисленным причинам, один из которых является процессом изучения чего-то)?
В этом случае я хочу, чтобы захватить 13, а не 10. –
Может быть случаем пропускания событий - я редактировал свой ответ. – VinayC
Не работает, к сожалению, он все еще передает ввод, за которым следует execCommand. Позвольте мне подробно остановиться на этом. Он используется для функции Rich Text Area, и поскольку большинство браузеров преобразуют возврат в HTML-абзац (IE и FF) или в строку, заключенную в div, я хочу, чтобы она преобразует возврат в линейную строку для равномерности. –