singlepost

JS код в IE и в Opera работает, но не работает в Firefox << На главную или назад  

Простенький код, который обрамляет тегами по бокам выделенный текст в textarea не хочет работаеть в Firefox. Почему?
(в IE и в Opera он работает исправно)

function add_tags(str1, str2)
{
document.all.memo1.focus();

if(document.selection)
{
var s = document.selection.createRange();
s.text = str1 + s.text + str2;
}
}

56 ответов в теме “JS код в IE и в Opera работает, но не работает в Firefox”

  1. 8
    Александр Васюченко ответил:

    нашел код:
    —————–

    function add_tags(str1, str2)
    {
    var obj=document.getElementById("memo1");
    obj.focus();

    if(document.selection)
    {
    var s = document.selection.createRange();
    s.text = str1 + s.text + str2;
    }else
    {
    var len = obj.value.length;
    var start = obj.selectionStart;
    var end = obj.selectionEnd;

    var scrollTop = obj.scrollTop;
    var scrollLeft = obj.scrollLeft;

    var sel = obj.value.substring(start, end);
    var rep = str1 + sel + str2;
    obj.value =obj.value.substring(0,start) + rep + obj.value.substring(end,len);

    obj.scrollTop = scrollTop;
    obj.scrollLeft = scrollLeft;
    }
    }

  2. 7
    Александр Васюченко ответил:

    Глеб Раздолбаев, в консоли ошибок пусто, ничего нет…

    Константин Нагибович, а можно без использования сторонних библиотек?

  3. 6
    Константин Нагибович ответил:

    попробуйте все это сделать с использованием jQuery

  4. 5
    Глеб Раздолбаев ответил:

    Ты Shift+Ctrl+J нажми и в консоли ошибок посмотри, чего FF не нравится.

  5. 4
    Александр Васюченко ответил:

    Мишель Елизаров, это я исправил.
    А вот как переделать нижеследующий код для FF?

    var s = document.selection.createRange();
    s.text = str1 + s.text + str2;

  6. 3
    Мишель Елизаров ответил:

    по-моему, в FF не работает document.all.memo1
    обычно вместо него используют document.getElementById("memo1")

  7. 2
    Павел Потапов ответил:

    Работает в IE и Опере и не работае В FF, т.к. в IE есть свойства и функции, не описанные в стандарте, при этом в Опере они в большинстве своем тоже поддерживаются (ради совместимости с IE).

    За документацией по тому, что должно быть во всех браузерах. Рекомендую заглянуть сюда:

    //w3schools.com/htmldom/dom_obj_document.asp

  8. 1
    Александр Микинас ответил:

    Скорее всего FF не поддерживает какое нибудь свойство или метод к которым ты обращаешься. Есть замечательный аддон к FF, называется firebug, им можно посмотреть какие свойства и методы есть у объектов.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.