更多关于coffeescript的例子

时间:2013-05-09 15:39:08

标签: jquery coffeescript toggle

我正在尝试添加基本的更多/更少链接以切换元素可见性。

如何插入preventDefault

此外它只适用于第一次切换,之后它不会切换出来。有错误吗?

$("#description-link").click ->
  $("#project-description").show()
  $(this).text("Show description")
, ->
  $("#project-description").hide()
  $(this).text("Hide description")

2 个答案:

答案 0 :(得分:2)

嗯,你可以尝试这样的事情:

$("#description-link").click (e) ->
  e.preventDefault()
  $('#project-description').toggle()
  a = $(this).text()
  a = if (a == 'Show Details') then 'Hide Details' else 'Show Details'
  $(this).text(a)

显然click(e)之间的空格是必需的。否则抛出TypeError。

编辑:刚刚意识到为什么需要这个空间......因为它是函数声明的一部分。以前没有真正搞过Coffeescript。 /捂脸

答案 1 :(得分:1)

要访问preventDefault(),您需要将event参数添加到您的函数中,并在其上调用preventDefault方法:

$("#description-link").click (event) ->
  event.preventDefault()
  ....