Framework7 / video.js touchevent conflict

时间:2018-03-28 06:24:21

标签: video.js html-framework-7

源代码在sourcecode

pc模式正常运行,但在移动模式下无法正常工作。我在chrome中运行上述程序。

单击播放/暂停按钮时无效,但是当我长按按钮时,一切正常。

我找到原因,但我不知道如何合理地解决问题。

在framework7的touchend事件中,它调用sendclick方法。在video.js中有一个 伪事件"tap"

当我触摸屏幕时,它两次称为“touchendevent”,因为它称为framework7的click方法和video.js的tap方法。

我发现同时调用了this .tap和click事件。所以视频首先播放,但是它突然暂停,因为第二个事件被调用。code in here

如果我长按按钮,它工作正常,因为没有调用tap'event。

2 个答案:

答案 0 :(得分:0)

我自己解决了。

videojs.getComponent('Component')。prototype.emitTapEvents = function(){}

答案 1 :(得分:0)

您可以将touchTimeThreshold从200 => 20更改。但这需要在库中更改。最好在初始化videojs之前添加以下几行:

videojs.getComponent('Component').prototype.emitTapEvents = function () {}