通过photoswip、Hammer.js和Transit.js在Android中进行捏缩放大
我使用了锤子和运输工具,但仍然可以使其正常工作 详细说明:它可以缩放,但可以缩放所有图像,不仅是可见图像,而且不可拖动 我尝试了几个插件,比如pep.js,但由于我无法直接访问图像,因此无法将它们应用于图像。ui覆盖层会屏蔽它们。 这是我的密码。 我错在哪里? 我用了PhoneGap和JqueryMobile 代码如下:通过photoswip、Hammer.js和Transit.js在Android中进行捏缩放大,android,cordova,pinchzoom,photoswipe,hammer.js,Android,Cordova,Pinchzoom,Photoswipe,Hammer.js,我使用了锤子和运输工具,但仍然可以使其正常工作 详细说明:它可以缩放,但可以缩放所有图像,不仅是可见图像,而且不可拖动 我尝试了几个插件,比如pep.js,但由于我无法直接访问图像,因此无法将它们应用于图像。ui覆盖层会屏蔽它们。 这是我的密码。 我错在哪里? 我用了PhoneGap和JqueryMobile 代码如下: var currentPage = $.mobile.activePage; var options = { enableMouseWheel : false
var currentPage = $.mobile.activePage;
var options = {
enableMouseWheel : false ,
enableKeyboard : false,
captionAndToolbarOpacity: 1,
backButtonHideEnabled : false, //do not modify - causes android crash
allowUserZoom : true,
getImageMetaData : function(el){
return{
id : el.getAttribute('id')
}
}
},
photoSwipeInstance = $('#lstImages a',e.target).photoSwipe(options,currentPage.attr('id'));
photoSwipeInstance.addEventHandler(window.Code.PhotoSwipe.EventTypes.onDisplayImage,function(e){
//OVERRIDES THE PHISICAL ANDROID BACK BUTTON BEHAVIOUR AND STAY IN PAGE
document.addEventListener('backbutton',function(e){
e.preventDefault();
window.Code.PhotoSwipe.activeInstances[0].instance.hide();
window.location.hash = $.mobile.urlHistory.getActive();
},false)
var currentImage = photoSwipeInstance.getCurrentImage();
var id = currentImage.metaData.id;
var $img = $('.ps-carousel-item-'+id+' img');
var $wrap = $('.ps-carousel-'+id);
$('.ps-uilayer').hammer({prevent_default:true}).on('pinchin pinchout',function(e){
e.stopPropagation();
e.gesture.stopPropagation();
e.gesture.stopDetect();
switch(e.type){
case 'pinchout':
$img.transition({scale: 2});
break;
case 'pinchin':
$img.transition({scale: 1});
break;
}
})
$('.ps-document-overlay').pep(); //THIS IS THE ATTEMPT TO MAKE IMG DRAGGABLE
});
关于它为什么不能正常工作有什么建议吗?您是否尝试过:
pointer-events:none;
在ui覆盖的css文件中?我不能使用它,因为photozoom插件使用它来完成所有的事情,比如交换等等。。。无论如何,这个问题不再是悬而未决的,因为我采取了另一种方式。同样谢谢你!你能发布你的解决方案吗。我面临同样的问题