2017-08-22 1 views
0

私はこの1つを検索するのに公正なビットをしています、そして、私は答えの終わりにいると思いますが、私は立ち往生しています!基本的に、同じクラスの他の2つの要素を順番にクリックする要素をクリックしています。 「私は要素がクリックされていないので、周りの要素を切り替えることができていますjQueryは同じクラスの複数の要素をonclickします

jQuery('.et-pb-arrow-prev').on('click', function(){ 
    jQuery('a.et-pb-arrow-prev').click(); 
    console.log('DONE'); 
}); 

他のではなく、クリックされた、が、私のことができます。私はこれを行うと、他のではないのに対し、一つの要素は、クリックされました他の2つの要素をクリックします。代わりに、私はこれをエラーとして受け取ります:

Uncaught RangeError: Maximum call stack size exceeded 

私はほとんどそこにいると思いますが、私は今失われています。どんな助けもありがとう。ここ

+0

「最大呼び出しスタックサイズを超えました」このエラーが発生しないため、あなたのコードをもっと共有する必要があると思います。 – warl0ck

+0

返り値falseを書き込もうとします。コード内の最後のブロック、つまり* jQuery( 'a.et-pb-arrow-prev')の後にクリック(); *行 – rahulsm

+0

WordPressのDiviテーマのjQueryです。サイトへのリンク:https://futures-dev.uts.edu.au/home-new-aiva/ – Ollie

答えて

0

クリックイベントのIDの代わりにクラスを置くことですコールスタックエラーの原因です。

jQuery('.et-pb-arrow-prev').on('click', function(e, manual) { 
 
    if (typeof manual === 'undefined' || manual === false) { 
 
    jQuery('a.et-pb-arrow-prev').not(this).trigger('click', true); 
 
    console.log('Triggered', this.textContent.trim()); 
 
    } else { 
 
    console.log('DONE', this.textContent.trim()); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a class="et-pb-arrow-prev" href="#">1</a> 
 
<a class="et-pb-arrow-prev" href="#">2</a> 
 
<a class="et-pb-arrow-prev" href="#">3</a> 
 
<a class="et-pb-arrow-prev" href="#">4</a>

+0

それはそれを修正しました!私はあなたの説明で少し失われていますが、それは修正されました!感謝万円!あまりにも多くのことを尋ねていないのであれば、あなたのコードを私に渡すことができますか? – Ollie

+0

このコードをフッターに置くと、なぜ機能しないのですか? – Ollie

+0

@Ollie動的に要素を作成するかどうかを確認する –

0

問題は、無限の機能は、最初のクリックは、クラスある別のクリックイベントをトリガーするクラス.ET-PB-矢印前に基づいている手段として、あなたの呼び出し元の関数が設置されていることです。 ET-PB-矢印-PREV、したがって、それは

に行きますので、私のアドバイスは、あなたがクリックをトリガーすると、現在の要素のクリックハンドラが再びその呼び出さ

+0

ありがとう、私は同じ問題を抱えています。 3つの要素のうち2つがクリックされていますが、1つは除外されていますが、最大呼び出しスタックサイズを超えています。思考? – Ollie

+0

申し訳ありません私はちょうどここであなたのisssueは、関数が無限ループに閉じ込められている慎重にここではurの問題を読んで –

0

そのあなたが言及したエラーを取得しているため、先の無限ループ。同じクラスの他の2つの要素をクリックしようとしているクリックイベントをバインドする要素に、別の名前を使用してみます。

Hereは、私が.wrapperクラスを使用したサンプルjsfiddleです。お役に立てれば。

関連する問題