【发布时间】:2013-06-01 18:22:23
【问题描述】:
我正在尝试将 Dropbox 选择器 集成到我的 ember 应用程序中。这是dropbox 生成的sn-p。
<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="XXXXXXXXXXX"></script>
<input type="dropbox-chooser" name="selected-file" id="db-chooser"/>
<script type="text/javascript">
document.getElementById("db-chooser").addEventListener("DbxChooserSuccess",
function(e) {
alert("Here's the chosen file: " + e.files[0].link)
}, false);
</script>
这就是我尝试在 ember 中实现它的方式。
在应用程序布局文件中包含<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="XXXXXXXXXXX"></script>。
window.App = Ember.Application.create({
rootElement: '#ember-app',
customEvents: {
DbxChooserSuccess: "DbxChooserSuccess"
},
)};
App.TestView = Em.View.extend({
templateName: "test_view",
tagName: "li",
testAction: function(e) {
alert("DbxChooserSuccess event triggered");
}
});
//test_view.js.hjs
<input type="dropbox-chooser" name="selected-file" id="db-chooser" {{action "testAction" on="DbxChooserSuccess" target="view"}}/>
这不起作用。我的问题是我们如何将自定义事件监听器添加到 ember 中的 html 元素?
【问题讨论】:
-
Ember 只知道发生在
body内的事件,因为这是 ember 挂钩以进行事件委托的地方,你的 dropbox sn-p 是否存在于 body 标签内?
标签: javascript ruby-on-rails ember.js dropbox