Ошибка при вставке input type=file в абсолютный div с действием – ember.js

В моем приложении ember мне нужно загрузить изображение и зафиксировать изменение файлов. Поэтому я использовал представление следующим образом

export default Ember.TextField.extend({
  type: 'file',
  accept: 'image/*',

  click: function() {
    this.dispatchEvent(event.originalEvent);
    return false;
  },

  change: function(evt) {
    console.log("Photo upload");
  }
});

Событие «клик» обрабатывается отдельно по какой-то причине. Это представление работало правильно, пока я не использовал его внутри другого представления, которое само обрабатывало действие в целом.

Поэтому мне пришлось явно обработать это событие и вернуть false.

Теперь ошибка, с которой я столкнулся здесь, это ..

Uncaught TypeError: this.dispatchEvent не является функцией

Я искал и обнаружил, что это может происходить из-за конфликтов с переменной $ JQuery, и я должен добавить

<script>jQuery.noConflict();</script>

Но я не уверен, куда добавить это в Ember-CLI.

Теперь здесь может быть два исправления, я должен вызвать исходное событие поля «файл» или добавить «jQuery.noConflict()» в нужном месте.

Пожалуйста, предоставьте мне исправление или любой способ, который подходит для достижения этой функциональности.


person Presse    schedule 25.08.2015    source источник


Ответы (1)


Мне пришлось добавить эти строки вместо тех, которые я добавил

click: function(el) {
  this.triggerAction(); 
  el.stopPropagation();
}

Найдено здесь

person Presse    schedule 25.08.2015