Ember.js 在emberjs中处理同一视图上的单击和双击
我有一个需要处理点击和双击的组件。它的代码是 模板:Ember.js 在emberjs中处理同一视图上的单击和双击,ember.js,Ember.js,我有一个需要处理点击和双击的组件。它的代码是 模板: <div class="routine_week routine-border box-height-fix fl pointer"> {{mark-down marking}} </div> 现在的问题是,doubleClick从未被解雇。如果它这样做,它还会触发两个单击事件。如何确保双击事件不会与单击交互余烬功能强大,我可以使用SingleClick事件模拟双击。这一切都取决于余烬。运行循环。这是像我这样尝试这样
<div class="routine_week routine-border box-height-fix fl pointer">
{{mark-down marking}}
</div>
现在的问题是,
doubleClick
从未被解雇。如果它这样做,它还会触发两个单击事件。如何确保双击
事件不会与单击交互余烬功能强大,我可以使用SingleClick事件模拟双击。这一切都取决于余烬。运行循环。这是像我这样尝试这样做的人的代码-
//capture event for singleClick only execute if there is no doubleClick
eventIO : null,
//ember actually execute the doubleClick but it also gives two singleClick
doubleClick : function(){
var eventIO = this.get('eventIO');
//check if there is any event for single click, disable it
if(eventIO != null){
Ember.run.cancel(eventIO);
this.set('eventIO',null);
}
// do the stuff with double click
},
// our click event which got executed in both single / double click
click : function(){
var eventIO = this.get('eventIO');
//if this is the first click , schedule it for later after 500 ms
if(eventIO === null)
{
var eventIO = Ember.run.later(this,function(){
//do single click stuff
var eventIO = this.get('eventIO');
///clear additional events
if(eventIO != null){
Ember.run.cancel(eventIO);
this.set('eventIO',null);
}
},500);
//register event to the component
this.set('eventIO',eventIO);
}
},
//capture event for singleClick only execute if there is no doubleClick
eventIO : null,
//ember actually execute the doubleClick but it also gives two singleClick
doubleClick : function(){
var eventIO = this.get('eventIO');
//check if there is any event for single click, disable it
if(eventIO != null){
Ember.run.cancel(eventIO);
this.set('eventIO',null);
}
// do the stuff with double click
},
// our click event which got executed in both single / double click
click : function(){
var eventIO = this.get('eventIO');
//if this is the first click , schedule it for later after 500 ms
if(eventIO === null)
{
var eventIO = Ember.run.later(this,function(){
//do single click stuff
var eventIO = this.get('eventIO');
///clear additional events
if(eventIO != null){
Ember.run.cancel(eventIO);
this.set('eventIO',null);
}
},500);
//register event to the component
this.set('eventIO',eventIO);
}
},