j***@163.com
j***@163.com
  • 发布:2017-08-02 15:52
  • 更新:2017-08-02 15:56
  • 阅读:1486

ViewEvents是否应该有一个Cancel事件?

分类:HTML5+

原生view做按钮控件时,要自己实现点击效果,如官方原生tabbar的demo中:
drawNativeIcon.addEventListener('click', function(e) {
mui.alert('你点击了图标,你在此可以打开摄像头或者新窗口等自定义点击事件。', '悬浮球点击事件');
// 重绘字体颜色
drawNativeIcon.drawText('\ue600', {}, {
fontSrc: '_www/fonts/iconfont.ttf',
align: 'center',
color: '#000',
size: '30px'
}, 'icon');
});
这个demo中,点击后,字体颜色设置为 '#000',之后会一直保持这个状态。再点就看不出变化。
我稍微改进了一下,监听触摸开始和结束:
shortCutIcon.addEventListener('touchstart', function(e) {
// 重绘字体颜色
shortCutIcon.drawText('\ue678', {}, {
fontSrc: '_www/fonts/iconfont.ttf',
align: 'center',
color: '#000',
size: '30px'
}, 'icon');
});
shortCutIcon.addEventListener('touchend', function(e) {
// 重绘字体颜色
shortCutIcon.drawText('\ue678', {}, {
fontSrc: '_www/fonts/iconfont.ttf',
align: 'center',
color: '#fff',
size: '30px'
}, 'icon');
});

正常情况下,是能够模拟按钮点击状态。但当按住屏幕,手指移出控件后,并不触发touchend事件,所以此时按钮状态不复原。

不知道是否有类似android中的cancel事件。

2017-08-02 15:52 负责人:无 分享
已邀请:
j***@163.com

j***@163.com (作者)

补充,上述现象出现在Android上。在IOS中,手指移出控件后,仍会触发touchend事件

该问题目前已经被锁定, 无法添加新回复