Я работаю над проектом, который использует некоторые прототипы JS и jQuery.Смешивание jQuery, prototype и 'this'
Моя проблема, я считаю, заключается в том, как это используется.
В моем коде у меня есть jQuery в функции, которую я буду прототипировать. JQuery выглядит следующим образом: (в этом коде, «цель» представляет собой объект JQuery передается при IMAGE_UPLOADER сначала создается.)
document.getElementById(target.find('.file_selector').prop('id')).addEventListener("change", this.FileSelectHandler, false);
В этом случае слушатель, есть функция называется FileSelectHandler. Эта функция называется просто отлично. Однако внутри этой функции есть вызов второй функции. Вот короткая версия функции:
FILE_UPLOADER.prototype.FileSelectHandler = function(e) {
this.FileDragHover(e);
}
Здесь возникает ошибка. JS жалуется, что функция FileDragHover не существует. Это, конечно, существует и определяется следующим образом:
FILE_UPLOADER.prototype.FileDragHover = function(e) {}
Я надеюсь, что это достаточно информации, чтобы понять проблему. Если нет, сообщите мне, и я могу добавить еще.
'this', вероятно, является элементом, а не экземпляром. Попробуйте 'console.log (this)', который должен дать вам подсказку. – elclanrs