0
我在mousedown和mouseup上使用了一個偵聽器,如果它從一個畫布轉到另一個畫面,它會作出不同的反應。在網站上,完美。但它必須是移動的,所以爲了使它工作,我去了touchstart和touchend事件。jQuery touchend事件阻塞問題(使用Cordova)
而且它不能按預期工作。
下面是一些代碼:
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...
}
我使用亞行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)
那麼我爲此做了什麼。
重新初始化只是重置清潔階段。
前兩行「開始左端左」只是左側畫布中的一個水龍頭。
然後,接下來的兩行也是「開始左端」。但在這裏,我從左帆布滑到右帆布,沒有得到預期的「開始左端右」。同樣如此。
我還在Android 5.0 Lollipop Moto G(第二代)手機上使用Cordova(用於混合HTML5應用程序)。
什麼問題?