1

別のdivをクリックして埋め込みオブジェクトのクリックをトリガーしようとしていますが、

これは私が試したコードです:

$('.action-upload').livequery(function()
{
 $(this).click(function()
 {
     $('#button').trigger('click');

 });

}); 

これは、firebug の埋め込みオブジェクトに対して表示されるコードです。

<object width="114" height="29" class="swfupload" data="js/swfupload/swfupload.swf?preventswfcaching=1285336584999" type="application/x-shockwave-flash" id="SWFUpload_0">(parameters)</object>

これは私のhtmlドキュメントのコードのようなものです

<input type="button" id="button" />

ページがレンダリングされたときにボタンとして表示されず、埋め込みオブジェクトとして表示されるため、オブジェクトを推測していますか?

動作する通常の入力ボタンでコードを使用しましたが、これに適用すると動作しません

誰かが私がこれを行う方法について何か考えを持っていますか?

(アクション アップロード div は、bg 画像を含む通常の div です)

御時間ありがとうございます ;)

詳細については編集:

ここに私がhtmlで使用するスクリプトがあります

$('.action-upload').live(function()
{
    $(this).click(function()
    {
        $('#button').trigger('click');
    });         
});

ここにhtmlがあります:

<div class="action-upload">(bg image)</div>

<div id="swfupload-control">

<input type="button" id="button" />

    <ul id="log"></ul>

</div>

これはブラウザのフォームボタンを置き換えるものです(これはfirebugから入手しました)

<object width="114" height="29" class="swfupload" data="js/swfupload/swfupload.swf?preventswfcaching=1285348248401" type="application/x-shockwave-flash" id="SWFUpload_0"><param value="window" name="wmode"><param value="js/swfupload/swfupload.swf?preventswfcaching=1285348248401" name="movie"><param value="high" name="quality"><param value="false" name="menu"><param value="always" name="allowScriptAccess"><param value="movieName=SWFUpload_0&amp;uploadURL=%2Fupload-file.php&amp;useQueryString=false&amp;requeueOnError=false&amp;httpSuccess=&amp;assumeSuccessTimeout=0&amp;params=&amp;filePostName=uploadfile&amp;fileTypes=*.jpg%3B*.png%3B*.gif%3B*.pdf%3B*.html%3B*.ai%3B&amp;fileTypesDescription=Image%20files&amp;fileSizeLimit=5000&amp;fileUploadLimit=10&amp;fileQueueLimit=0&amp;debugEnabled=false&amp;buttonImageURL=%2Fjs%2Fswfupload%2Fwdp_buttons_upload_114x29.png&amp;buttonWidth=114&amp;buttonHeight=29&amp;buttonText=&amp;buttonTextTopPadding=0&amp;buttonTextLeftPadding=0&amp;buttonTextStyle=color%3A%20%23000000%3B%20font-size%3A%2016pt%3B&amp;buttonAction=-110&amp;buttonDisabled=false&amp;buttonCursor=-1" name="flashvars"></object>

私はswfuploadを使用しており、アクションアップロードdivから埋め込みオブジェクトの「クリック」をトリガーしようとしています

4

1 に答える 1

2

私の理解が正しければ、埋め込まれた Flash オブジェクトに HTML ボタン ( <input type="button" ...>) のクリック イベントをトリガーさせようとしていると思われます。

jQuery だけを使用してこれを達成することはできません。Flash オブジェクトのクリックは、Flash オブジェクトによって処理されます。あなたが求めていることを行うには、JavaScript への外部呼び出しを行うように Flash ソースを変更する必要があります。これを行う方法は、ファイルのビルドに使用している Flash/ActionScript のバージョンに大きく依存します。

ActionScript 3 には、外部 JavaScript 関数を呼び出すために使用できるExternalInterfaceクラスがあります。ActionScript 3 ファイルでは、次のようになります...

要素のクリック ハンドラー内で、JavaScript 匿名関数を呼び出します。

ExternalInterface.call("function(){$('#button').trigger('click');}");

Flash オブジェクトを自分で制御しないと、実行しようとしていることができない場合があります。

于 2010-09-24T17:27:08.313 に答える