Я пытаюсь объявить функцию в coffeescript, которая вызывается как при подготовке документа, так и когда пользователь вводит что-то в панель поиска. В принципе, иногда поисковая панель получает визуализацию со значением, иногда пользователь вводит значение. Я хочу отобразить значок «x», чтобы очистить панель поиска, только если есть текст. Единственный способ, которым я мог понять, как сделать эту работу должен был написать один и тот же код дважды, один раз в обработчик нажатия клавиши, и один раз в документе готовый:избегать дублирования кода в coffeescript по названной функции
$ ->
$('.clear-search').click ->
$(this).prev('input').val('').focus();
$('span.clear-search').hide()
$('#query_raw_query').keypress ->
if $('#query_raw_query').length > 0
$('span.clear-search').show()
else
$('span.clear-search').hide()
end
if $('#query_raw_query').length > 0
$('span.clear-search').show()
else
$('span.clear-search').hide()
end
То, что я действительно хотел бы сделать, это просто создать функция, называемая check_empty или что-то еще, и просто назовите это оба места, но я не могу заставить ее работать.
Спасибо за любую помощь.