Архив рубрики: javascript

Курсы по JavaScript

JavaScript я использую давно, не могу назвать точную дату. Года с 2000, наверное. Но никогда не пытался особо в нем разобраться. То ли терпения не хватало, то ли мотивации. Довольствовался базовыми знаниями, которых хватало для примитивного решения поставленной задачи.

Но недавно понял, наконец, что разработка на backend становится все скучнее, а все большее количество разнообразных задач переходит на сторону клиента. Поэтому решил, что надо, наконец, со всем разобраться, расставить все по полочкам.

И записался на курс по JavaScript Ильи Кантора. Курс хороший. Начинается с базовых вещей и дает хорошую основу. Не могу сказать, что узнал много нового. Будто все уже читал это, слышал и видел. Но благодаря курсу все встало на свои места. Илья уделял много внимания особенностям языка и его реализаций, показал, как нужно использовать язык, какие инструменты стоит использовать. Кроме того, тут произошло знакомство с ES6, который, несомненно, стоит использовать! Спасибо, Илья, за те два месяца! :)

certificate

Javascript, динамическое создание кнопки и событие onclick

Надеюсь, этот спасет мне в следующий раз много времени, которое я потрачу на поиски. Может, окажется полезен еще для кого-то.

Что было. Динамически создавал несколько объектов (textarea и две кнопки). По нажатию на одну из кнопок должно было аджаксом сохраниться то, что я написал, на вторую — восстановиться предыдущее значение. Поэтому при создании кнопок я вешал на них onclick функции типа savetext и restore с определенными параметрами. Делал это так:

cancelbtn.setAttribute( ‘onclick’, ‘javascript:restore(«‘ + id + ‘», «‘ + field + ‘», «‘ + field_id + ‘»)’);

И это работало в Firefox, но отказывалось работать в Internet Explorer 7 и ниже.

В случае, если параметров нет никаких, то все делается просто. Но в моем случае надо было динамически создать кнопку и повесить на ее событие onclick выполнение функции с несколькими параметрами. В Javascript я не силен, поэтому немного поискал и нашел на одном из бесчисленных форумов совет от vasa_c. Применимо к моему примеру выглядит это так:

document.getElementById(‘cancel_’ + field_id).attachEvent(«onclick», (function(e) {restore(id, field, field_id);}));

Упд. (23 июня) Совсем забыл написать одно очень важное замечание. Спустя день, когда начал тестировать код всюду, обнаружилось, что Мозилла в свою очередь не воспринимала тот самый способ, который нравился Ослу. Пришлось проверять браузер (Осел или нет) и в зависимости от этого навешивать событие.