Я делаю свой первый файл загрузчик JQuery плагин (в CoffeeScript):JQuery плагин не прилагая тело плагина кода для каждого элемента
$.fn.uploadable = (opts={}) ->
console.log $(@).attr('type') # undefined
event = if $(@).attr('type') is 'file' then 'change' else 'drop'
@
.on event, (evt) ->
# do something
off
.on 'dragover', (evt) -> off
$('#files_input, #drop_zone').uploadable
Таким образом, вы можете видеть, в первую .on(), я я определяю, является ли элемент события кнопкой файла обзора или нет, если ДА, то этот элемент будет прослушиваться для события «изменения», когда пользователь выбирает файл, если нет, то я предполагаю, что это какой-то простой старый div или что-то еще для действия перетаскивания HTML5.
Поэтому я использую плагин на одном элементе INPUT и одном элементе DIV. Как вы можете видеть из моего console.log logged 'undefined'
До сих пор я знаю только этот метод вызова, такой как attr(), вы получите результат только от одного из перечисленных элементов селекторов. Но мне нужно установить переменную события .on (event) для каждого из согласованного элемента. Как я могу это сделать?
Спасибо
Я думаю, что @ .each сделал это! БЛАГОДАРЯ! –