[РЕШЕНО]Доступ к свойствам объекта из методов объекта
Добрый день, форумчане.
Помогите пожалуйста. Не могу обратиться к свойствам объекта из метода объекта. Есть объект: Код:
var Shape = _onMouseClick current number shape: undefined type shape: undefined Почему я не могу получить значения этих свойств? Спасибо. |
Потому что _onMouseClick не содержит current number shape, type shape. Это же функция события, и this в данном случае будет указывать на объект обработчика событий (ну или как-то так, поправьте меня если я не прав). В качестве решения я бы попробовал:
var Shape =
{
_this: this,
...
_onMouseClick: function(e)
{
console.log('_onMouseClick');
console.log('current number shape: ' + _this._id);
console.log('type shape: ' + _this._type);
},
}
Хотя по сути должно работать и так:
_onMouseClick: function(e)
{
console.log('_onMouseClick');
console.log('current number shape: ' + _id);
console.log('type shape: ' + _type);
}
P.S.: я не уверен в своих познаниях js, поэтому было бы хорошо если бы кто-то подтвердил или опроверг мой ответ) |
Спасибо. Сейчас сделал через Shape.*, но это конечно не совсем правильно, но мне подходит пока. Еще такой вопрос: у меня при обработке движения мышки отказывают правый и левый клик мыши. В чем может быть проблема?
Обработчик: Код:
_onMouseMove: function(e)Код:
Shape._shape.setRadius(center.distanceTo(e.latlng)); |
Все решил. Оказалось я использовал группу слоев L.featureGroup, и здесь присутствуют свои обработчики мышки, поэтому использовал простейшую группу слоев L.layerGroup и тогда все работает.
|
| Часовой пояс GMT +3, время: 07:06. |