所以我最近在我的应用程序中添加了 Kinetic.JS v4.6.0,并测试了一个简单的矩形拖放。
在网络浏览器上运行良好,但一旦我在手机上使用它,它就会出错并在拖动后留下矩形的幽灵。
我基本上使用与演示相同的脚本,没有 touchStart/touchEnd 事件,我也在使用 JQuery 1.9.1 和 JQueryMobile-1.3.2。
我怎样才能摆脱这种影响,我尝试在 touchStart 上清除图层并在 touch End 上再次绘制舞台,但幽灵仍然存在。
编辑 我的设备是运行 4.2.2 的 Galaxy S2 并且发生重影,但该应用程序在 Ipad 上运行良好。
/index.JS
$( window ).on( "pageinit", function ( event ) {
stage = new Kinetic.Stage( {
container: "container",
width: 500,
height: 500
} );
MapLayer = new Kinetic.Layer()
var Rect = new Kinetic.Rect( {
x: 0,
y: 0,
width: 100,
height: 50,
fill: 'green',
stroke: 'black',
strokeWidth: 4,
draggable: true
} );
MapLayer.add( Rect );
stage.add( MapLayer );
索引.HTML
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/jquery.mobile-1.3.2.min.js"></script>
<script src="js/kinetic-v4.6.0.min.js"></script>
<script src="js/index.js"></script>
<title>Mobile OneStop</title>
<div data-role="page">
<div data-role="content">
<div id="container">
</div>
</div>
</div>
(如果人们不理解,我可能会画一个糟糕的绘画图像来炫耀这一点)
编辑 http://imgur.com/a/HlNxj#0 - 自发布此代码以来,我已经更改了很多代码,但问题仍然存在。