7

別のボタンをクリックするとトリガーされるボタンがあります。2 番目のボタンのクリックを 2 秒間遅らせたい。.delay() を使用しましたが、機能しませんでした。

jq(function() {
      jq('a.box').click(function() {
         jq(this).closest('.button').find('.add_this').delay(2000).click();
      })
    });

またはsetTimeoutを使用する;

jq(function() {
      jq('a.box').click(function() {
      setTimeout(function(){
         jq(this).closest('.button').find('.add_this').click();
      },800);
      });
    });

しかし、うまくいきませんでした。

4

1 に答える 1

17

ドキュメントからhttp://api.jquery.com/delay/

.delay() メソッドは、キューに入れられた jQuery エフェクト間の遅延に最適です。制限があるため (たとえば、遅延をキャンセルする方法は提供されません)、.delay() は JavaScript のネイティブな setTimeout 関数に代わるものではなく、特定のユース ケースにより適している場合があります。

setTimeout遅延後にクリックハンドラーをバインドするために使用できます

setTimeout(function(){

jq('a.box').closest('.button').find('.add_this').click();
},2000);

編集

jq(function() {
      jq('a.kklike-box').click(function() {
      $this = $(this);
      setTimeout(function(){
         $this.closest('.deal_buttons').find('.add_this').click();
      },800);
      });
    });
于 2013-02-04T03:25:40.850 に答える