我有一个功能应该在两个不同的事件中使用,但我不能使它工作。我哪里弄错了?或者我是否必须使用Class?
coment_error = (that) ->
$this = $(that)
$new_answer = $this.parent('.new_answer')
$new_answer.on('ajax:success',((evt, data, status, xhr)->
$new_answer.hide()
$('.open').show()
))
$new_answer.on('ajax:error',((evt, data, status, xhr)->
$(this).addClass("error")
))
$(document).on("click", ".new_answer > INPUT[type='submit']", coment_error($(this)))
$(document).on("click", ".new_comment > INPUT[type='submit']", coment_error($(this)))
答案 0 :(得分:2)
我认为问题是最后两行是立即执行函数而不是在调用事件时。
$(document).on("click", ".new_answer > INPUT[type='submit']", coment_error)
此外,您不希望coment_error接收“that”,因为“this”将自动绑定到单击的元素。所以你可以直接到$ this = $(this)。