我是stackoverflow的新手,并想知道你是否可以使用coffescript帮助我使用.on()函数。移动.live()因为我想要一切应该是
$('#employee-select')
.live('click', () ->
if (!$('#employee-search-panel').is(':visible'))
employeeLiveSearch()
$('#employee-search-panel').slideDown()
else
$('#employee-search-panel').slideUp()
end
)
我想出的是
$(document)
.on('click', '#employee-select',() ->
if (!$('#employee-search-panel').is(':visible'))
employeeLiveSearch()
$('#employee-search-panel').slideDown()
else
$('#employee-search-panel').slideUp()
end
)
mi问题是......这是正确的解决方案吗?执行文档,然后在'click?
旁边添加选择器此致
答案 0 :(得分:0)
是的,这是正确的..但是在性能方面,使用文档中可用的静态父元素然后文档本身总是更好。
$(document) .on('click', '#employee-select',function(){ //<--- replace document with closest static parentelement
if (!$('#employee-search-panel').is(':visible'))
employeeLiveSearch()
$('#employee-search-panel').slideDown()
else
$('#employee-search-panel').slideUp()
end
})
links详细了解on
事件
答案 1 :(得分:0)
这在您编写时似乎是正确的,这是在页面中delegate the event to the existing parent item
的方式。
虽然您可以尝试委托在dom初始化期间可用的closest existing parent
。
哪个包含'#employee-select'
( parent of this elem
):
$('parent of this').on('click', '#employee-select',() ->
虽然(document)
是页面中所有elem的父级,但这样做绝对可以。
$(document).on('click', '#employee-select',() ->