我不明白为什么我必须在 JQuery 中单击链接两次:
$(function(){
$("#more_reviewers").click(function(){
$("#reviewer_list").html("<%= escape_javascript(render 'restaurants/restaurant_reviewer_list', :venue => @restaurant, :limit => @restaurant.reviews.count) %>");
});
});
当我单击时, View 会覆盖显示的审阅者的限制并显示所有审阅者。我不明白的是为什么我需要点击同一个按钮两次。类似问题的其他答案都对我不起作用,因为问题涉及 cookie 依赖,或者其他我没有做的事情。
我刚刚测试了另一件事:当我放置显示事件类型的警报时,它第一次没有显示任何内容(就好像 JS 脚本未绑定(bind)到链接一样),然后第二次它会使用正确的事件发出警报输入(“单击”)。
rails中ID为“more_reviewers”的链接如下:
<%= link_to "more", "#", :id => "more_reviewers", :remote => true %>
链接显示正确的项目,但仅在单击两次后才显示(第一次,页面上似乎没有任何变化)
我们将非常感谢您的帮助。
最佳答案
你的 show.js.erb 应该只包含:
$("#reviewer_list").html("<%= escape_javascript(render 'restaurants/restaurant_reviewer_list', :venue => @restaurant, :limit => @restaurant.reviews.count) %>");
现在,您将点击事件绑定(bind)到已点击的链接,这意味着您必须再次点击它。
关于Jquery 单击事件在第一次单击时不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15541208/