frozenui/frozenjs

tab内容中,zepto注册的longTap失效

Opened this issue · 5 comments

zlzdp commented
              <div class="box-flex long-press-demo">
                    <span class="box-flex-item">
                        <label>姓名</label>
                        <p>
                            张三
                        </p>
                    </span>
                    <span class="box-flex-item">
                        <label>出生年月日</label>
                        <p>
                            2015年4月28日
                        </p>
                    </span>
                </div>

$('.long-press-demo').on('longTap','.box-flex-item',function (e) {
alert(this.outerHTML)
console.log(e.type)
})

使用以下的tab组件后,导致longTap事件不响应。
var tab = new fz.Scroll('.ui-tab', {
// role: 'tab',
// // interval: 3000
// //autoplay: true
// });

zlzdp commented

使用了tap后 ,longTap长按,浏览器响应的是点击鼠标右键的效果。
注释掉frozenjs 的 new tab的代码,longTap就可以正常触发。

由于实现机制的缘故,tab 组件默认屏蔽了所有事件,其中 click 和 tab 都是模拟出来的。针对你这种场景可能无法支持~

zlzdp commented

我改了你们的源码,是否阻止事件 我做成了一个配置项,避免那种问题。

zlzdp commented

不过你们重写了zepto的tap,却好像没去管longTap,是否应该把longTap也重写一下?
不然longTap就有问题,现在的轻轻的一点击,longTap事件也触发。