2011-11-07 44 views
1

jQueryの 'click()'をValums Ajax Uploaderボタンで動作させるのに問題があります。valums Ajax Uploaderをクリックしてシミュレートする

コードからボタンのクリックをシミュレートする必要がありますが、このプラグインはファイルエクスプローラを起動するためにクリックを使用しないようです。セレクタは正しいですし、JavaScriptエラーはありませんが、私は動作させることができません。

triggerおよびliveでも同様の結果が得られました。

これは呼び出しです:

$("div[class='qq-upload-button']").click(); 

は私が間違ってイベントを呼び出すのですか?

答えて

0

私はクリックで呼び出された関数を見つけて手動で呼び出す必要があると思います。

+0

私はプラグインのソースコードを読みましたが、クリックバインディングはありません(私は思う)。クリックを使わないでクリックイベントを聞くには、他にどのような可能性がありますか? –

1

Divにはクリックイベントがありません。 divの代わりに、そのようなコードでボタンのclickイベントを呼び出さなければなりません。

document.getElementById('btnUpload').click(); 

ただし、Valums Ajax Uploaderによって生成されたボタンには、IDまたはクラスはありません。 valumsスクリプト(fileuploader.js)を編集してid属性を追加する必要があります。単にjavacriptファイルにinput.setAttribute("type", "file");という行があり、その下にinput.setAttribute("id", "btnUpload");を挿入してください。

+0

IDを追加する必要はありません。あなたのIDを既に持っているメインdiv内の入力に単にリンクすることができます。 私はjQueryを使ってデモを行います... $( '#uploadElementID input')。trigger( 'click'); #uploadElementIDは、FileUploaderを設定するための要素プロパティです。 –

+0

@sevenkul:良い解決策。これは私のユースケースのために完全に機能しました。 –

関連する問題