Sencha touch 2 导航视图中的多点击问题
我正在使用导航视图。最初,它有一个包含按钮的项目(视图)。点击此按钮后,第二个视图将进入导航视图。如果用户有意或无意地双击该按钮,则会按两次“第二视图”。我怎样才能解决这个问题 我已经尝试了这个链接中指定的缓冲区配置,但这个解决方案的问题是,它在缓冲区时间之后甚至在第一次点击时调用侦听器 下面是示例代码来演示这个问题 导航视图Sencha touch 2 导航视图中的多点击问题,sencha-touch-2,Sencha Touch 2,我正在使用导航视图。最初,它有一个包含按钮的项目(视图)。点击此按钮后,第二个视图将进入导航视图。如果用户有意或无意地双击该按钮,则会按两次“第二视图”。我怎样才能解决这个问题 我已经尝试了这个链接中指定的缓冲区配置,但这个解决方案的问题是,它在缓冲区时间之后甚至在第一次点击时调用侦听器 下面是示例代码来演示这个问题 导航视图 Ext.define('Many.view.Main', { extend: 'Ext.navigation.View', xtype: 'main',
Ext.define('Many.view.Main', {
extend: 'Ext.navigation.View',
xtype: 'main',
config: {
items: [
{
xtype:'firstView'
}
]
}
});
第一视图
Ext.define('Many.view.FirstView', {
extend: 'Ext.Panel',
xtype: 'firstView',
config: {
title: 'First View',
items: [
{
xtype: 'button',
id:'myButton',
text: 'Push Second View'
}
]
}
});
第二视图
Ext.define('Many.view.SecondView', {
extend: 'Ext.Panel',
xtype: 'secondView',
config: {
items: [
{
docked: 'top',
xtype: 'titlebar',
title: 'Second View'
}
]
}
});
控制器
Ext.define('Many.controller.Main', {
extend : 'Ext.app.Controller',
config : {
refs : {
myNavigationView : 'main',
myButton :'main #myButton'
},
control : {
myButton : {
tap : 'pushSecondView'
}
}
},
pushSecondView: function () {
var secondView = Ext.create('Many.view.SecondView');
this.getMyNavigationView().push(secondView);
}
});
只要添加一个条件,不管该视图是否存在于视口中 在
控制器中添加如下引用:-
refs : {
myNavigationView : 'main',
myButton :'main #myButton',
secondView : 'secondView'
}
并添加以下条件:-
pushSecondView: function () {
if(!this.getSecondView()){
var secondView = Ext.create('Many.view.SecondView');
this.getMyNavigationView().push(secondView);
}
}
我是这样做的:
/**
*此方法将从应用程序中的每个项目调用,这些项目可以双击以推送多个项目。
*
*@returns{Boolean}
*/
确保无双点击:功能(classNameToPush){
if(Ext.getClassName(Ext.getCmp('navigationview').getActiveItem())==classNameToPush){
log(“阻止双击”);
返回false;
}
返回true;
}
好的,谢谢,但是其他操作呢?例如,如果我在点击按钮时执行服务器调用或验证,我应该检查其他条件还是有其他解决方案?这取决于场景。但我认为森查本身没有任何具体的解决办法。