为什么我的Javascript只选择第一个If Else参数?

时间:2014-01-09 05:59:25

标签: ruby-on-rails jquery dom railscasts faye

我正在使用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假设检查帖子所有者是否是当前用户,如果是当前用户,则他/她获得通知。但它让我发疯,因为它一直在选择第一个参数!

1 个答案:

答案 0 :(得分:0)

$("#someDiv").bind("DOMSubtreeModified", function() {
    alert("tree changed");
});

Is there a JavaScript/jQuery DOM change listener?

这很有效,但我意识到我的做法是错误的,操纵前端的数据为时已晚。