javascript - 将 jQuery 与 Ember 操作处理程序一起使用

标签 javascript jquery ember.js

我正在尝试从 ember Controller 中的 Action 处理程序内部访问 jquery 对象 ($)。但它说 $ 未定义。

如何从操作处理程序访问 jQuery 对象?

以这个应用为例:

<div id="main"></div>

<script type="text/x-handlebars" data-template-name="index">
    <div id="scroll-div">
        <h1>Test Div</h1>

    </div>
    <a href="" {{action "findHeight"}}>Find height</a>
</script>

JS

App = Ember.Application.create({
    rootElement: '#main'
});

App.IndexController = Ember.ArrayController.extend({
    actions: {
        findHeight: function(){
            console.log(this.$('#scroll-div').height);
        }
    }
});

JS fiddle :http://jsfiddle.net/sisir/5ammt2fv/

最佳答案

首先不建议在controller中进行dom操作。更好的方法是设置 target="view"并在那里处理此操作。然后您的代码内部操作将正常工作。如果您想在 Controller 本身中处理它,请使用此代码片段

App.IndexController = Ember.ArrayController.extend({
    actions: {
        findHeight: function(){
            alert($('#scroll-div').height());
        }
    }
});

关于javascript - 将 jQuery 与 Ember 操作处理程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28690661/

相关文章:

jquery - 在同一页面上使用 jquery gallery 两次

javascript - 从 emberjs store.find 获取数据

javascript - 在 WebStorm 上期待换行符或分号错误

javascript - 如何在javascript中实现部分继承?

php & jquery 上传图片并即时预览显示

ember.js - Emberjs - 无法使用appendTo和{{render}}助手渲染嵌套 View

ember.js - 使用 EmberData 旁加载列出 "belongsTo"个对象

javascript - 如何在javascript中继承2个类

javascript - 使用 JS 在动态生成的表格中添加按钮

javascript - 通过 $.get 加载外部文件通常不会返回响应,即使响应代码是 200