Объясните пожалуйста разницу между "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:01. |