我正在尝试在coffeescript中声明一个函数,该函数在文档准备就绪和用户在搜索栏中输入内容时调用。基本上,有时候搜索栏会使用值进行渲染,有时用户会键入值。我想要显示一个" x"图标仅在有文本时清除搜索栏。我能弄清楚如何使这项工作的唯一方法是两次编写相同的代码,一次是在按键处理程序中,一次是在文档准备就绪:
$ ->
$('.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的函数,然后将其称为两个地方,但我似乎无法使其正常工作。
感谢您的帮助。
答案 0 :(得分:1)
$ ->
someFunctionName = ->
if $('#query_raw_query').length > 0
$('span.clear-search').show()
else
$('span.clear-search').hide()
end
$('.clear-search').click ->
$(this).prev('input').val('').focus();
$('span.clear-search').hide()
$('#query_raw_query').keypress ->
someFunctionName()
someFunctionName()