我正在尝试从 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/