在另一个中包含一个js文件的正确方法

时间:2016-09-30 08:19:48

标签: javascript jquery ruby-on-rails

我尝试了from this answer并且都没有工作:

$(function () {
  var imported = document.createElement('script');
  imported.src = '/assets/admin/receipt_zooming.js';
  document.head.appendChild(imported);

  $('.rotate-receipt').on('click', rotateImage());
  $('.zoom-in').on('click', zoomHandler('+'));
  $('.zoom-out').on('click', zoomHandler('-'));

// OR

  $.getScript('/assets/admin/receipt_zooming.js', function()
  {
    $('.rotate-receipt').on('click', rotateImage());
    $('.zoom-in').on('click', zoomHandler('+'));
    $('.zoom-out').on('click', zoomHandler('-'));
  });
});

receipt_zooming文件:

$(function () {
  return function() {
  var zoomHandler = function(sign) {
    return function() {
      var index = $(this).data('button-index');
      var image = $('#receipt-image-' + index);
      switch (sign) {
        case '+':
          image.width(image.width() + 100);
          break;
        case '-':
          image.width(image.width() - 100);
      }
    };
  };
  var rotateImage = function () {
    var angle = 0;
    return function() {
      var index = $(this).data('button-index');
      angle = (angle + 90)%360;
      var className = 'rotate' + angle;
      $('#receipt-image-'+index).removeClass().addClass(className);
    };
  };
}
});

我需要在其他几个文件中包含receipt_zooming.js。请帮忙。

编辑:我能知道为什么有人而不是帮助吗?

1 个答案:

答案 0 :(得分:-1)

function loadScript(file) {
   var imported = document.createElement('script');
  imported.src = '/assets/admin/receipt_zooming.js';
  imported.type = "application/javascript";
  document.head.appendChild(imported);       
}
相关问题