0

質問は、これに関する他の質問とは少し異なります。jQuery AjaxUploadと同様の問題がありました。ボタンを 2 回クリックする必要がありますか? しかし、私は回避策でそれを修正することができました。ボタンは完璧に来ます。しかし、今の問題は、ボタンの上または左から来るときにマウスをドラッグした後にそのボタンをクリックすると機能しませんが、反対側からマウスをドラッグすると正常に機能します。つまり、上からそのボタンに来ると、ajaxアップロードによって作成された隠しファイルセレクターではなく、ボタンがホバーされます。

上からそのボタンにマウスを乗せていない間

そのボタンを上または左から移動する場合

最初の画像では、ボタンの横からマウス ポインターを移動すると、ファイルを選択するオプションが表示されます。しかし、他の画像に示すように、ボタンの上からマウスポインターを取り、ボタンがホバーされています。

ここに私のボタンコードがあります:

<input type="button" value="Upload Image" class="imgUploadBtn" />

私のJSスニペット:

function uploadAndGetImgUrl(tsource,status) {
    new AjaxUpload(tsource,{
        action: 'imageUpload.php',
        name: 'uploadfile',
        data: {},
        onSubmit: function(file, ext){
                if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
                    // extension is not allowed
                    status.text('Only Images are Allowed');
                    return false;
                }
                status.text('Uploading...');
        },
        onComplete: function(file, response){
            //On completion clear the status
            status.text('');
            $('#idSpclImgLink').val(response);
            $('#idImgLink').val(response);
        }
    });
}

$(document).live("imgAttach",function() {
    alert("Want something Added");
    uploadAndGetImgUrl($('.imgUploadBtn'),$('#idStatus'));
});

私は ajaxupload.3.5.js をチェックしましたが、ホバリング中に何らかのプロセスを実行し、ホバー効果を維持するために左と上のオフセットを使用することがわかりました。しかし、私はまだその修正を修正できませんでした。なぜこれが起こっているのですか?

PS: クロームを使用しています。Firefoxでもチェックインしましたが、同じ動作です。

4

2 に答える 2

1

ajaxupload のプラグイン ファイルを開きます。

mousemove イベント ハンドラーが定義されている関数で、次のコメントを見つけます。

次の行を over = true; に更新します。

于 2012-09-17T08:34:58.037 に答える
0

一般的な問題の正確な解決策ではありませんが、私の場合、2行を変更するだけでシナリオに対応しました。

行番号 368 と 369 を

if ((c.x >= box.left-5) && (c.x <= box.right) && 
        (c.y >= box.top-10) && (c.y <= box.bottom)){    

それは明らかにうまくいくでしょう。

于 2012-09-20T05:21:52.203 に答える