我正在使用BlueImp Gallery(DEMO)。我需要在某些情况下锁定隐藏按钮,这非常有用。但是现在我还需要隐藏鼠标并触摸滑动。
说明:用户可以向左或向右滑动,这会更改当前图片。
我还没能找到负责任的活动。如何停用滑动事件并再次激活它?这可能吗?
答案 0 :(得分:1)
您可以使用on()之类的,
$(document).on('click touchmove',function(){
if(CERTAIN_SITUATIONS){ // only on certain situations
return false;// it will prevent to do anything in your document
}
});
如果您想要禁用div或容器,请使用它,如
$(document).on('click touchmove','CONTAINER_ID_OR_CLASS',function(){
....
您可以使用stopPropagation()来阻止冒泡,
$(document).on('click touchmove',function(e){
if(CERTAIN_SITUATIONS){ // only on certain situations
e.stopPropagation();
return false;// it will prevent to do anything in your document
}
});
答案 1 :(得分:1)
他们不打算发布这个功能,但它就在那里。
var galleryContext
// initalize your gallery
blueimp.Gallery([{/* your images */}], {
// we need the context of the gallery
onopened: function () {
galleryContext = this
}
})
// now disable
galleryContext.destroyEventListeners()
// or enable
galleryContext.initEventListeners()
答案 2 :(得分:0)
这对我有用:(在 v3.2.0 上测试)
this.galleryInstance = blueimp(this.config.images, options);
this.galleryInstance.destroyEventListeners();
//this line makes sure no touch events are registered in the init function
//and preserving other events in tact
this.galleryInstance.support.touch = false;
this.galleryInstance.initEventListeners();