4

Question similar to mine are asked before but here the scenario is bit different - I have a js.erb file in which I'm publishing using (private_pub) a partial like below

<% publish_to "/conversation/update_waiter" do %>
   $("#online_waiters").replace_html('<%= j(render :partial => "/restaurants/online_waiters")%>');     
<% end %>

the partial is rendered on all users wall successfully and no extra or duplicate divs are generated . But on click function (which is an anchor in newly rendered partial) stops working . While its functionality is defined in /assets/js . Now after showing that partial on users if i refresh the page , then the same partial which is displayed due to my cookies , works fine . Any help or idea will be appreciated

1 Answer 1

7

Attach the click handler to a parent element of the generated elements and it will work on all generated elements from partials.

Say you have a div with class content which contains all your html.

$(".content").on("click", "#anchor_one", function(e) {
  console.log("Working!");
});

Or attach it to the document

$(document).on("click", "#anchor_one", function(e) {
  console.log("Working!");
});

Another solution is to add the handler inside your js.erb file.

Sign up to request clarification or add additional context in comments.

1 Comment

Today i realize that Backend development without core JS knowledge brings you down . thanks man it helped

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.