JavaScript функция для вставки текста туда где находится курсор.

 function insertTextAtCursor(el, text, offset) {
    var val = el.value, endIndex, range, doc = el.ownerDocument;
    if (typeof el.selectionStart == "number"
            && typeof el.selectionEnd == "number") {
        endIndex = el.selectionEnd;
        el.value = val.slice(0, endIndex) + text + val.slice(endIndex);
        el.selectionStart = el.selectionEnd = endIndex + text.length+(offset?offset:0);
    } else if (doc.selection != "undefined" && doc.selection.createRange) {
        el.focus();
        range = doc.selection.createRange();
        range.collapse(false);
        range.text = text;
        range.select();
    }
}

 

Рассказать друзьям

Рисования в JavaScript при  помощи RaphaelНа днях довелось мне делать один весьма интересный проект. Нужно было сделать онлайн графический редактор. Он должен был уметь рисовать графические примитивы: круги, прямоугольники, линии между ними и полигоны. Кроме того содержимое должно было легко экспортироваться в png. Долго тему рисования изучать не стал. Инструментов в сети предостаточно. Давно слышал про такую библиотеку как Raphaël, и все не было повода познакомится с ней поближе. Повод появился и я приступил. Далее приведу лишь несколько примеров и принцип работы.

Рассказать друзьям

При собеседовании в одной весьма и весьма крупной российской IT компании, интервьюеры задавали мне каверзные вопросы по JavaScript. Если на алгоритмические вопросы я отвечал без проблем, то на вопросах, связанных с нативными методами в JavaScript троках ответить я не смог. Просто потому, что привык везде и всегда гуглить необходимую информацию. и если мне понадобилось разбить в JavaScript строку на части, то я сразу гуглю

Разбить строку в JS

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

Рассказать друзьям

Автосайз textarea​Казалось бы тривиальная задача: поле, которое бы автоматически меняло свою высоту в зависимости от внутреннего текста. Нечто подобное есть в редакторе, в котором я сейчас пишу этот текст ckeditor. Называется оно здесь autogrow и реализуется отдельным плагином. 

Да, разумеется и для нативных инпутов есть множество jQuery плагинов, которые выполняют возложенную на них функцию. 

Так сложилось, что мой блог - это не набор простых решений, типа берете такой плагин, подключаете и у Вас все работает. Нет. Я из тех людей, которых результаты запроса в гугле: "Как объединить два массива в, вызывают по меньшей мере негодование. 

Плеяда статей и вопросов на stackoverflow, с ответом: $.extend

У большинства сегодняшних web-developerov, нет ни тени сомнения, что jQuery подключен к любому проекту.

Я не из таких программистов. Есть такие области, в которых нет и не будет jQuery. К примеру, написание плагинов на другие библиотеки или программы. К примеру плагин на ckeditor, допускает использование лишь API самого редактора, потому, как само оно вести порядка 0.5Mb и библиотека в 0.09Mb будет излишней нагрузкой.

В таких ситуациях есть два пути: первый, написать все на API библиотеки, и второй сделать все на vanila.js 

При втором варианте, наш код будет легко портировать на любую другую библиотеку. Все заработает даже вовсе без нее.

Собственно ради чего это отступление - не стоит использовать плагин там, где все и так пишется в несколько строк кода.

Теперь к делу

Рассказать друзьям

Разработка веб-сайтов – очень перспективная и трудоёмкая работа, требующая знаний и мастерства. Факторов, влияющих на стоимость сайта, очень много: это и домен, и стабильность сайта с его рентабельностью, посещаемость сайта и множество других.

Рассказать друзьям

Подкатегории

Все о разработке на библиотеке jQuery