jQuery touchend事件阻塞(使用Cordova)

时间:2016-08-12 17:45:34

标签: javascript android jquery cordova touch

我在mousedown和mouseup上使用了一个监听器,如果从一个画布到另一个画布,则会有不同的反应。在网站上,完美。但它必须是移动的,所以为了使它工作,我选择了touchstart和touchend事件。

它没有按预期工作。

以下是一些代码:

HTML(它只是一个左侧画布和右侧画布)

<canvas class="left" style="position: relative; background-color: #FFF; width: 45%; height: 80px;"></canvas><canvas class="right" style="position: relative; background-color: #FFF; width: 45%; height: 80px;"></canvas>

JS

$('canvas').on("touchstart", function(e) { //mousedown for mobile
    console.log('CONSOLE: start ' + this.className);
    down = this;
});
$('canvas').on("touchend", function(e) { //mouseup for mobile
    console.log('CONSOLE: end ' + this.className);
    calc(down, this);
});
function calc(press, depress) {
    code...
}

我使用ADB Logcat进行调试,这是意外行为。

I/chromium(28808): [INFO:CONSOLE(148)] "CONSOLE: Reinitialized", source: file:///android_asset/www/js/share.js (148)
I/chromium(28808): [INFO:CONSOLE(21)] "CONSOLE: start left", source: file:///android_asset/www/js/share.js (21)
I/chromium(28808): [INFO:CONSOLE(25)] "CONSOLE: end left", source: file:///android_asset/www/js/share.js (25)
I/chromium(28808): [INFO:CONSOLE(21)] "CONSOLE: start left", source: file:///android_asset/www/js/share.js (21)
I/chromium(28808): [INFO:CONSOLE(25)] "CONSOLE: end left", source: file:///android_asset/www/js/share.js (25)
I/chromium(28808): [INFO:CONSOLE(21)] "CONSOLE: start right", source: file:///android_asset/www/js/share.js (21)
I/chromium(28808): [INFO:CONSOLE(25)] "CONSOLE: end right", source: file:///android_asset/www/js/share.js (25)
I/chromium(28808): [INFO:CONSOLE(21)] "CONSOLE: start right", source: file:///android_asset/www/js/share.js (21)
I/chromium(28808): [INFO:CONSOLE(25)] "CONSOLE: end right", source: file:///android_asset/www/js/share.js (25)

所以我为此做了什么。

重新初始化只是重置为清洁阶段。

前两行&#34;从左下方开始&#34;只是在左侧画布上点击。

然后,接下来的两行是&#34;从左下方开始&#34;太。但是在这里,我从左侧帆布滑到右侧帆布,没有得到预期的&#34;开始左右端&#34;。同样适合。

我还在Android 5.0 Lollipop Moto G(第二代)手机上使用Cordova(用于混合HTML5应用)。

有什么问题?

1 个答案:

答案 0 :(得分:0)

我通过使用touchmove事件和elementFromPoint()

来纠正了这个问题