如何将其转换为实时jquery切换(coffeescript)?
$('.link').toggle(
-> $(this).text('less'); $('.entry').css('height', 'auto'),
-> $(this).text('more'); $('.entry').css('height', '300px')
)
我试过在实时函数中包装它,但它只会触发第一个事件,并且不会切换回来。
答案 0 :(得分:1)
您是否尝试过使用.on,我假设.link是动态插入DOM的,对吗?
var hasToggle = false
$('body').on('click', '.link', (e) ->
unless hasToggle
$(@).toggle(
->
$(@).text('less')
$('.entry').css('height', 'auto')
->
$(@).text('more')
$('.entry').css('height', '300px')
)
hasToggle = true
)
我认为它不起作用的原因是因为每次你点击.link与.on或.live重新初始化一个新的.toggle事件,所以你总是要调用.toggle中的第一个函数。如果您在第一次点击它时为.toggle设置了一次可以解决问题的事件。