3

私は何時間もかけて理解しようとしてきたjcropにこの奇妙な問題があります。問題は、デモに表示されているのと同じ方法で選択範囲をドラッグ/移動できないことです。

setSelectページの読み込み時に画像が選択範囲で表示されるようにスクリプトを初期化しようとすると、その選択範囲は移動できますが、マウスで選択すると、この選択範囲 (もちろん最初の選択範囲を置き換えます) はドラッグできません私が何をしようと。ただし、キーボードで動かすことはできますが、キーボードを使用している人に頼ることはできません。

私はグーグルで検索しましたが、これに近づいたのは次の投稿だけでした: Jcrop で選択をドラッグできません。しかし、それは私にとって問題を解決しません(そして、私が知っている相対位置がないため、そもそも問題の原因にはなりません)。

Macでjquery 1.4.2とjcrop 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();しかし、競合を引き起こしているのが他の機能ではないことを確認するために、単純なものも使用してみました。

どんな入力でも非常に高く評価されます。前もって感謝します !

ラース

4

2 に答える 2

1

私は実際にこの投稿で説明されているように私のcssで相対的な位置を持っていたことが判明しました:

http://www.stackoverflow.com/questions/3380969/

だからそれを取り除くことはそれを解決しました:)

于 2012-12-22T22:52:29.950 に答える
1

CSS のすべての div で相対位置を誰かが宣言したプロジェクトで、この問題に遭遇しました。残念ながら、それを修正するにはあまりにも多くの作業が必要だったので、修正を見つけるためにコードを少し掘り下げなければなりませんでした。

最新の jCrop ライブラリ (この投稿の時点では Jcrop-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 が絶対位置であることを確認することで、この問題は解決しました。相対的なポジショニングと zindexing の何かが私にとってそれを殺していました。

私が行ったスクリプトへの2つの変更は次のとおりです。

行 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);
于 2013-05-23T15:46:12.340 に答える