几件事:
单击链接会给我一个 404,如果没有更多代码,很难获得上下文
您是否正确使用 Ember 事件处理?您提到fadeTo
代码在didInsertElement
函数中,在处理单击事件时听起来不正确。 didInsertElement
是在渲染(或重新渲染)元素后调用的回调。
鉴于描述,听起来您有两个选择。这两种方法都不应该依赖于光标位置。
选项1
如果您的模板足够简单,您可以绑定到视图中的点击事件,那就去吧。这样,您不必指定任何选择器(例如,#object
)。
在您的模板中,您应该只有一个标准链接:
<a href="#"> link text </a>
现在,在您的视图中处理事件
App.FooView = Ember.View.extend({
click: function(e) {
$(e.target).fadeTo(1000, 1);
return false; // prevent page transition
}
});
选项 2
直接绑定到链接,并在控制器中处理事件。
在您的模板中,向链接添加一个操作:
<a href="#" id="object" {{action "fade"}}> link text </a>
现在,使用元素 id在控制器中处理事件:
App.FooController = Ember.ObjectController.extend({
actions: {
fade: function() {
$('#object').fadeTo(1000, 1);
}
}
});
如果我离这里很远,请为我们提供一些代码。谢谢。