我有一个画布应用程序,没有内置的缩放和平移解决方案。
我的解决方案是在画布上覆盖指针事件:all和opacity:0,以便您可以缩放和平移。
我现在的问题是把一个点击从覆盖层委托给画布。现在我的想法是把触摸点击的坐标和模拟这个点击再次与指针事件:没有,但它不工作。
$(document).on('touchstart', function (event) {
showCoordinates(event);
});
function showCoordinates(event) {
var x = event.touches[0].clientX;
var y = event.touches[0].clientY;
console.log(x);
console.log(y);
$('#overlay').css('pointer-events','none');
var myEvent = $.Event( "touchstart", { pageX:x, pageY:y } );
$("body").trigger( myEvent );
$('#overlay').css('pointer-events','all');
}
我的主要问题是在这里模拟点击
var myEvent = $.Event( "touchstart", { pageX:x, pageY:y } );
$("body").trigger( myEvent );
它甚至在谷歌Chrome控制台中都不能工作,我在这里做错了什么?
1条答案
按热度按时间alen0pnh1#
第一个问题是您创建的事件没有
showCoordinates
函数中使用的event.touches[0].clientX
和event.touches[0].clientY
属性。到
。在最后一行,给
x
和y
给予。很有可能,你会遇到新的问题,比如无限递归。给一些HTML代码,这样你可以更好地提供帮助。我想,有一个更简单的解决方案。