我正在使用Rails 4进行Agile Web开发,第11.5节教授如何使图像可点击。我接着是课程,下面是我的store.js.coffee
$(document).on "ready page:change", ->
$('.store .entry > img').click ->
$(this).parent().find(':submit').click()
以上将允许我点击商店页面上的图片将特定商品添加到购物车,但它会“点击”两次,因此将两个商品添加到购物车而不是仅一个。常规的“添加到购物车”按钮工作正常,所以我不太确定问题出在哪里。
我认为上面的代码不足以查明问题,但我不知道要发布的代码的其他部分,所以如果您需要其他信息,请告诉我。谢谢!
答案 0 :(得分:7)
错误发生在脚本的第一行。
您需要将元素准备好和页面:更改与昏迷分开。
试试这样:
$(document).on "ready, page:change", ->
它应该有用。
答案 1 :(得分:0)
我猜您的click
可能会在.store
,.entry
或img
上触发另一次点击操作。修复方法是阻止点击的默认操作。
尝试使用:
$(document).on "ready page:change", ->
$('.store .entry > img').click (event) ->
event.preventDefault()
$(this).parent().find(':submit').click()
答案 2 :(得分:0)
使用vinibol12的逗号的完整代码段是:
$(document).on "ready, page:change", ->
$('.store .entry > img').click ->
$(this).parent().find(':submit').click()
我确认这解决了我在agile-web-development-with-rails-4_p2_0第11.5节中的双重提交问题