Объясните пожалуйста разницу между "e" и "event"
Всем привет!
Вопрос отражен в теме. Гуглил и как таковой ответ не увидел. Можете объяснить на пигмейском, да еще желательно какой нибудь примерчик, если их разница может быть как-то использована. |
AciDWarrioR,
А можно ваши примеры с вариантами использования? |
Dilettante_Pro,
Я не знаю насколько это вам будет полезно. В общем, я использую библиотеку OpenLayers3. И ситуация следующая: мне надо сделать кнопку удаления элементов, которые нарисовал пользователь. Я реализовал по гайдам, но дело в том, что когда я удалил элемент и хочу заново что-нибудь нарисовать, вылетает куча ошибок, которые иногда приводят к тому, что ломается карта. Вот эту ошибку я не могу найти и исправить. На всех тематических форумах молчат. Реализовал сейчас, что кнопка удаляет все элементы, и то, бывает иногда и так, что вылетают ошибки. Так вот, был ещё пример где заместо "e" использовался "event". Вот я и хочу понять это может ли как то повлиять на решение и когда нужно использовать "e" и "event". Примеры: Мой пример: $('.imgLine').click(function(){ clearCustomInteraction(); $(this).addClass('active'); map.addInteraction(lineDraw); lineDraw.on('drawEnd', function(e){ }); }); А вот пример с которого я думал забрать часть: draw.on('drawend', function (event) { featureID = featureID + 1; event.feature.setProperties({ 'id': featureID, }) }) Ссылки: OpenLayers API Мой вопрос на stackexchange Этот же вопрос на русском |
Цитата:
var lineDraw = ...; lineDraw.on('drawend', function(event) { featureID = featureID + 1; event.feature.setProperties({ 'id': featureID, }) }) $('.imgLine').click(function() { clearCustomInteraction(); $(this).addClass('active'); map.addInteraction(lineDraw); lineDraw.trigger('drawend') }); |
рони,
Спасибо за ответ. В плане поиска ошибки на конкретном примере - это ссылки на мои вопросы, там конкретно. А примеры кода, что я скинул, проблема не в этом блоке кода. Я просто скинул для примера. Почему не могу найти ошибку, потому что она возникает где-то далеко внутри самой библиотеки. Понять и найти, что там не так, очень сложно (по крайней мере для меня). |
AciDWarrioR,
В заголовке описания функции имена параметров - это имена внутренних переменных функции, поэтому их можно обзывать по-любому. Пример из https://learn.javascript.ru/obtaining-event-object <input type="button" value="Нажми меня" id="elem"> <script> elem.onclick = function(event) { // вывести тип события, элемент и координаты клика alert(event.type + " на " + event.currentTarget); alert(event.clientX + ":" + event.clientY); } </script> А вот то же самое без event совсем <input type="button" value="Нажми меня" id="elem"> <script> elem.onclick = function(nnn) { // вывести тип события, элемент и координаты клика alert(nnn.type + " на " + nnn.currentTarget); alert(nnn.clientX + ":" + nnn.clientY); } </script> А есть еще глобальный объект window.event |
Dilettante_Pro,
Даже так))) Спасибо за ответ. Буду копать значит глубже, не заморачиваясь на это) |
AciDWarrioR,
при событии детали события записывается в window.event который передаётся первым аргументом в обработчик. А внутри функции-обработчика названия - ваше дело. Я думаю, использование e и event в данном контексте - чисто мнемонические привычки |
Часовой пояс GMT +3, время: 08:42. |