我有一个rails4应用程序。我想在页面加载时触发一些js事件,但前提是用户来自给定的页面。
默认情况下,所有评论回复都隐藏在post#index
页面上。如果用户点击div,则相应的回复将变为可见。
现在,如果用户通过点击属于post_comment_reply
的通知进入该页面,我希望默认情况下在页面加载时显示给定的post_comment_reply
div。
rails中首选的方法是什么?
JS
$(document).on('click', '.open-post-comment-reply', function (event) {
var post_comment_id = $(this).data('pcid');
$('#post-comment-replies-' + post_comment_id).toggle();
});
答案 0 :(得分:1)
您可以在指定页面上的链接onclick事件中附加Cookie,然后在显示评论框后将其删除。
答案 1 :(得分:1)
根据其他用户的建议,设置cookie会起作用。您还可以检查导轨中的request.referrer
以查看它们的来源。
从那里处理触发js的几种方法。您可以使用以下内容将引用者值传递给js:
<div class="some-class" data-referrer="<%= request.referrer %>">
然后在你的js中,如果你正在使用jQuery:
if ($('.some-class').data('referrer') == 'whatever_url'){
// run your code
}
您也可以直接在视图中添加条件。可能不那么干净但是像:
<% if request.referrer == 'whatever_url' %>
<script>
// code to run
</script>
<% end %>