Ember 2:如何添加自定义jQuery

时间:2015-11-01 17:50:45

标签: ember.js ember-cli

以下是哪里?

$('a').click(function() {
    $('html, body').animate({
        scrollTop: $($.attr(this, 'href')).offset().top
    }, 500);
    return false;
});

我也在Rails环境中工作,然后在Rails应用程序内部的Ember前端。我在Ember供应商的文件夹中尝试了它,并在ember-cli-build.js中调用了导入,当我去测试它时,没有任何作用。我错过了一步吗?

1 个答案:

答案 0 :(得分:0)

当您在app.import上添加ember-cli-build.js的内容时,会将该代码作为vendor.js文件的一部分。在应用程序可用之前,已下载并执行vendor.js文件(据我所知)。这意味着您的模板在执行代码时不会呈现,而$('a')将返回一个空列表(因此它无法正常工作)。

如果您想要完全相同,我相信您可能需要进行事件委托,如下所示:

$( "body" ).on( "click", "a", function() {
  $('html, body').animate({
    scrollTop: $($.attr(this, 'href')).offset().top
}, 500);
return false;
});

这样,您就可以将点击事件委托给应用中已有的a个链接。

运行这样的代码(jquery代码)的ember方式可能是创建一个组件,但我不确定你要用这个代码实现什么。