javascript 在呈现的 js 部分中不可用

javascript is not available in rendered js partial

我遇到这样的问题: 在一个页面上,我呈现了一个 js 部分 (ajax),这个部分包含一些字段。我还有一个带有 js 代码的文件,当我专注于 class 'expand' 的字段时,它应该会产生一些东西。 问题是:此脚本适用于页面上具有 class 'expand' 的所有字段,但在部分 中呈现的字段除外。您如何看待可能出现的问题? file.js:

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

我渲染一个js部分:

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

谢谢!

您应该使用不显眼的 JavaScript 代码:

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

另外,这行代码做同样的事情:

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

所以放弃第一个,只保留第二个,就像我上面的例子一样。