1

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

如何插入preventDefault

而且它只适用于第一次切换,之后它不会切换出去。有什么错误吗?

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

2 回答 2

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。/掌脸

于 2013-05-09T15:59:43.607 回答
1

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

$("#description-link").click (event) ->
  event.preventDefault()
  ....
于 2013-05-09T15:50:46.057 回答