我正在使用Ryan Bates gem来创建我的应用评论通知,这些评论对于创建的帖子具有多态性,
在进入细节之前,这里是选择第一个参数的Javascript,无论值是什么,我都不知道为什么!
$('#notify').bind('DOMNodeInserted DOMNodeRemoved', function(event) {
if (event.type == 'DOMNodeInserted') {
if ( $('#PostOwnerID').val() == $('#CuID').val() ) {
$("#Notification").removeClass("btn btn-primary");
$("#Notification").addClass("btn btn-success");
alert('Eq')
}
else {
alert('Not Equal')
}
}
else {
}
});
以下是我正在做的其余事情,从添加评论开始查看create.js.erb>
<% publish_to "/layouts/comments" do %>
$("#<%= @commentable.id %>").empty();
$("#<%= @commentable.id %>").append("<%= escape_javascript(render(:partial => 'comments')) %>");
$("textarea#user_comment_content").val(null);
<% end %>
对于控制器保持帖子简短,我发布回这些字段&gt;
PrivatePub.publish_to("/layouts/comments", "$('#notify').append('#{@comment.content}'); $('#CuID').append('#{current_user.id}'); $('#PostOwnerID').append('#{@commentable.user_id}');")
并且在通知视图中我有这些行:
<div id="demo" class="collapse in">
<div id="PostOwnerID"></div>
<div id="CuID"></div>
<div id="notify"></div>
<%= subscribe_to "/layouts/comments" %>
</div>
if if假设检查帖子所有者是否是当前用户,如果是当前用户,则他/她获得通知。但它让我发疯,因为它一直在选择第一个参数!
答案 0 :(得分:0)
$("#someDiv").bind("DOMSubtreeModified", function() {
alert("tree changed");
});
Is there a JavaScript/jQuery DOM change listener?
这很有效,但我意识到我的做法是错误的,操纵前端的数据为时已晚。