让我说我有一个跟随切换。 http://docs.sencha.com/touch/2.4/2.4.2-apidocs/#!/api/Ext.field.Toggle
您可以通过点击或滑动来切换。 如果你不让屏幕继续滑动,并用手指左右滑动, 拨动开始用手指移动。 有没有办法'打破'触摸事件? 期望的行为是我刷卡,然后如果我继续刷,没有任何事情发生,像 手指和屏幕之间的接触丢失了。
我做了什么: 我可以在切换范围内执行此操作 - 如果我在'更改'上禁用它,并启用'touchend'。不好,因为我想在屏幕上为屏幕上的所有切换做这件事,例如,它们中的大多数显然没有被触及,所以不会得到touchend并启用后退
答案 0 :(得分:0)
为什么不将切换添加到touchstart上的数组(在touchend上将其从数组中删除)。 在屏蔽上,您可以在视图上触发一个事件,该事件遍历数组中的所有项目并且“打破”#39;触摸事件。
控制器:
config: {
refs: {
view: '#my-view'
toggles: '.togglefield'
},
control: {
view: { maskstart: 'hereIBreakTouch'}
toggles: {touchstart: 'hereIAddToggleToArray'
touchend: 'hereIRemoveToggleFromArray'}
}
},
activeToggles: []
hereIBreakTouch: function() {
// might want to loop
var oActiveToggle = this.activeToggles[0];
oActiveToggle.setEnabled(false);
//oActiveToggel.fireEvent('touchend');
Ext.defer(function() {oActiveToggle.setEnabled(true);}, 50, this);
}
这应该可以解决问题。