クリックすると個々の .php ページをロードする一連の jQuery UI AJAX タブがあります。タブ ウィジェットを保持するページは既にリンクされている CSS とスクリプトを提供するため、私のスタイリングなどはすべて伝えられます。ただし、タブをクリックしたときに読み込まれる実際のページに関しては、これらの新しく作成された DOM 要素で preventDefault() を .on() と連携させることはできません。
タブで jQuery BBQ を使用しているため、URL に「#」を追加できません。これは、タブ パネル内のリンクがクリックされたときに発生します。最初にロードされた DOM 要素で preventDefault() を正常に使用できましたが、AJAX を介してタブ ウィジェットにフェッチされている要素は使用できませんでした。
コンテンツ トグルに対する私の機能は...
$(function(){
$(".showMoreOrLess").on('click', (function() {
if (this.className.indexOf('clicked') != -1 ) {
$(this).removeClass('clicked');
$(this).prev().slideUp(500);
$(this).html("Read More" + "<span class='moreUiIcon'></span>");
}
else {
$(this).addClass('clicked');
$(this).prev().slideDown(500);
$(this).html("See Less" + "<span class='lessUiIcon'></span>");
}
}));
});
この関数の preventDefault() を結合したいと思います。
// prevents default link behavior on BBQ history stated tab panels with "showMoreOrLess" links
$(".showMoreOrLess").click(function (event)
{
event.preventDefault();
//here you can also do all sort of things
});
// /prevents default behavior on "showMoreOrLess" links
.on("click", function(work)) などを使用していくつかの方法を試しました。別の関数で .on() を使用し、上記の最初の関数でそれを結合しようとしました。私が間違っていることを誰かが知っていますか?このコードは、AJAX 経由で読み込まれたコンテンツではなく、静的なタブ コンテンツで機能します。どんな助けでも大歓迎です。これを理解できないようです。前もって感謝します。