我有一个奇怪的问题,我花了几个小时试图弄清楚。问题是,我不能像在演示中显示的那样拖动/移动所选内容。
如果我尝试用setSelect
初始化脚本,以便在页面加载时图像出现在选定内容中,那么表示选择是可移动的,但是一旦我用鼠标进行了选择,无论我做什么,这个选择(当然是替换初始的选择)都不能被拖动。但是,它可以用键盘移动,但我不能依赖使用键盘的人。
我在谷歌上搜索过,唯一接近的就是这篇文章:无法拖动选择在杰罗姆,什么可以打破它?,但这并不能解决我的问题(据我所知,我没有相对的定位,所以它一开始就不会是问题的原因)。
我在mac上使用了使用jQuery1.4.2和j笋0.9.8的以下设置(已经尝试了Firefox和Safari):
function updateCoords(c) {
$('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
};
function checkCoords() {
if (parseInt($('#w').val())) return true;
alert('Please select a crop region then press submit.');
return false;
};
$('#jcrop_target').Jcrop({
minSize: [ 620,400 ],
maxSize: [ 620,400 ],
onSelect: updateCoords,
onChange: updateCoords
});
但是我也尝试使用一个简单的$('#jcrop_target').Jcrop();
来确保它不是引起冲突的其他函数。
任何投入都将非常,非常感谢。提前谢谢!
拉尔斯
发布于 2012-12-22 22:52:29
发布于 2013-05-23 15:46:12
我在一个项目中遇到了这个问题,在这个项目中,有人在CSS中的所有div上声明了相对位置。不幸的是,要修复它需要做太多的工作,所以我必须仔细研究代码才能找到修复程序。
使用最新的jCrop库(在本文发布时为JROM-0.9.12),脚本有一个小的变化,它为我解决了这个问题。
在jquery.Jcrop.js的第1122行附近,如下所示:
if (Touch.support) {
$track.bind('touchstart.jcrop', Touch.createDragger('move'));
}
$img_holder.append($track);
disableHandles();
通过将$img_holder.append($track)更改为$hdl_holder.append($track)并确保$hdl_holder是绝对位置,它为我解决了这个问题。一些相对位置和索引的东西正在扼杀我的生命。
我对脚本所做的两个更改是:
350 jquery.Jcrop.js:
$hdl_holder = $('<div />').width('100%').height('100%').css('zIndex', 320),
改为:
$hdl_holder = $('<div />').width('100%').height('100%').css({
zIndex: 320,
position: 'absolute'
}),
线路1122 jquery.Jcrop.js:
$img_holder.append($track);
改为:
$hdl_holder.append($track);
https://stackoverflow.com/questions/5148175
复制相似问题