Здравствуйте.
Имеется некий класс с несколькими методами. + Довольно стандартные строки навешивания события на элемент.
Код JS.
function Widjet() {
this.id = null;
this.jqlink = null;
this.type = null;
this.add = function () {
};
this.remove = function () {
};
this.copy = function () {
};
this.lock = function () {
};
this.unlock = function () {
};
this.edit = function () {
};
this.activate = function () {
$(document).on('click', function () {
console.log('123');
});
};
this.deactivate = function () {
};
this.hovered = function () {
};
this.dehovered = function () {
};
this.getSerialize = function () {
};
this.load = function () {
};
}
var widjet = new Widjet();
$(document).ready(function () {
$('#button').click(function () {
widjet.activate();
});
});
Описание:
При клике на элемент #button, вызывается метод activate, внутри которого вешается событие на document. При последующих кликах на document в консоль должно выводиться 123.
Проблема:
При первом клике на #button в консоль сразу выводится 123, но по логике не должно, т.к. событие на document еще не висит. В чем может быть проблема?