【问题标题】:Code in application.js not loading in Railsapplication.js 中的代码未在 Rails 中加载
【发布时间】:2016-03-09 05:40:44
【问题描述】:

我刚刚启动my web service 刚刚发现我的 application.js 不工作...

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree .

$("body").on('click', 'ul#invite_links li#invite_link_facebook a', function () {
  var url = $(location).attr('href');
    FB.ui({
    method: 'send',
    link: url
  });
});

$("body").on('click', '#facebook_friends button', function () {
  var receiver_name = $(this).find(".facebook-friend-name").text();
  var receiver_img = $(this).find(".facebook-friend-avatar   img").attr("src");
  $("#facebook_avatar").val(receiver_img);
  $("#collaborator_user_account").val(receiver_name);
  $("#collaborator_user_account").attr("readonly", "readonly");
  $("#collaborator_job_name").focus();
});

$("body").on('click', '#modal-close', function () {
  $(".modal").hide();
});

$(document).ready(function() {
  $('.notice').stop().animate({'marginTop':'-30'},850).delay(3000).slideUp(500);
});

这应该在用户访问时工作 工作页面并尝试通过在 facebook 中搜索朋友来添加合作者。 example here

【问题讨论】:

    标签: javascript ruby-on-rails facebook web-services


    【解决方案1】:

    之所以如此,是因为您不需要当前文件本身。以下是您将如何执行此操作:

    //= require_self
    

    请注意//= require_tree . 会加载当前树/目录,但不会加载文件中的代码:application.js 本身。

    编辑:如果您的代码仍然无法工作,您必须将您的 JS 代码放在 $(document).ready 回调中,以便在所有其他资产文件正确加载时执行。

    【讨论】:

    • 视情况而定。如果要在树的其余部分之前加载当前文件,请在 //= require_tree . 之前写入 //= require_self,反之亦然。
    • 感谢您的快速回复。我添加但仍然无法正常工作......即使#modal-close 没有响应......
    • 请在$(document).ready()中写下所有的js内容,以便在HTML和CSS正确加载时加载。
    • 哦,我很抱歉。我真是误会你了。我在我编写的每一个 js 代码中都添加了 $(function(){ $(document).ready(function(){ 并且它不起作用。所以我认为这与你的不同。感谢 Bilal 的支持马克苏德!
    猜你喜欢
    • 2020-07-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多