Изменить: Пожалуйста, не обращайтесь к этому, это неправильно
Можете ли вы попробовать это. Включение вашей логики c в функцию и передача ее в jQuery гарантирует, что она вызывается после полной загрузки страницы.
Когда вы пытаетесь привязать обработчики событий к элементу, вы должны убедиться, что что элемент действительно присутствует в DOM.
this.htmlElement = "<div id='" + this.ID + "' class='" + this.cssClasses + "'>" + this.buttonImage + "</div>";
$("#" + this.idContainer).append(this.htmlElement);
$(function() {
if (this.enabled) {
$(document).on('mousedown', "#" + this.ID, function (event) {
console.log("down");
});
$(document).on("mouseup", "#" + this.ID, function () {
console.log("up");
});
$(document).on("click", "#" + this.ID, this.action);
}
});