javascript在渲染的js partial中不可用

时间:2016-03-20 12:50:36

标签: javascript jquery ajax ruby-on-rails-4 turbolinks

我正面临这样的问题: 在页面上我渲染一个js partial(ajax),这个部分包含一些字段。另外我有一个带有js代码的文件,当我专注于一个带有类' expand'的字段时,它应该会有所作为。 问题是:此脚本适用于所有带有类'展开'在页面上除了部分中呈现的字段。你怎么会有什么问题呢? file.js:

$(document).ready(function() {
  $(function() {
    $('.expand').focus(function () {
      alert('hello');
    });
  });
});

我渲染了一个js partial:

$("#tasks-right").html("<%= escape_javascript(render :partial => 'task_details', :locals => {:object => @task}) %>");

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该使用不引人注目的JavaScript代码:

$(function() {
  $(document).on('focus', '.expand', function() {
    alert('hello');
  });
});

此外,这行代码执行相同的操作:

$(document).ready(function() {
  $(function() {

所以放弃第一个并保持第二个就像我上面的例子中那样。