0

良い一日。

私はコードを持っています:

<a class="fancybox iframe" href="http://google.com" id="online_form_a">test</a>

<script>
$(document).ready(function() {
    // add the fancy box click handler here
    setTimeout(function() {
        $("#online_form_a").trigger('click');
    },10);
});
</script>

このコードは<a>10 秒後に要素をクリックする必要がありますが、スクリプトは機能しません。

エラーの場所を教えてください。

PS: JsFiddleで参照できる作業スクリプトを参照してください。

4

4 に答える 4

3

クリックイベントのトリガーとは、その要素のクリックイベントにバインドされた関数を呼び出していることを意味します..要素をクリックせずに

しかし、あなたの要素に添付されたクリックイベントはありません..

こうやって…

<a class="fancybox iframe" href="http://google.com" id="online_form_a">test</a>


$(document).ready(function() {
     // add the fancy box click handler here

     $('a').click(function(){
       window.location.href = "http://google.com";
     });

     setTimeout(function() {
        $("#online_form_a").trigger('click');
     },10000);                //  this value is in milliseconds(1 sec = 1000 ms)
 });
于 2013-06-14T13:05:28.400 に答える
1

10 ではありません。これはミリ秒なので、10 秒が必要な場合は 10000 を使用する必要があります。

デモhttp://jsfiddle.net/yeyene/NW5Rj/2/

$(document).ready(function() {
    // add the fancy box click handler here
    setTimeout(function() {
        $("#online_form_a").trigger('click');
    },10000);

    $('a').click(function(){
       alert('Hi'); 
    });
});
于 2013-06-12T03:01:30.640 に答える
0

aここで、の href 値に自動的にリダイレクトしたいと仮定します

トリガー メソッドは、登録されたイベント ハンドラーを起動しますが、要素に関連付けられた既定のアクションはトリガーされない場合があります。

ドクから

.trigger() はイベントのアクティブ化をシミュレートし、合成されたイベント オブジェクトで完了しますが、自然に発生するイベントを完全に複製するわけではありません。

別の選択肢は.triggerHandler()ですが、これでもデフォルトの動作にはなりません

.triggerHandler() メソッドは、イベントのデフォルトの動作 (フォーム送信など) を発生させません。

したがって、解決策はwindow.locationここで使用することです

window.location = $('#online_form_a').attr('href')
于 2013-06-12T03:07:20.243 に答える
0
<a class="fancybox iframe" href="http://google.com" id="online_form_a" >test</a>
$(document).ready(function() { // ファンシー ボックスのクリック ハンドラをここに追加します setTimeout(function() { location.href = $("#online_form_a").attr('href'); },1000); });
于 2013-06-12T06:13:05.947 に答える