CFLayout を使用して、Web アプリケーションでタブ構造を作成しています。そのレイアウトの作成後、この関数を呼び出します。
mytabs = ColdFusion.Layout.getTabLayout("#attributes.cflayoutName#");
mytabs.on('tabchange',
function(tablayout,tab) {
var tabtitle = tab.title;
alert(tabtitle); // Actual code does various useful 'stuff' here.
}
);
このコードは非常にうまく機能し、ユーザーがタブをクリックするたびにアラートが表示されます。
問題は、「アコーディオン」の CFLayout タイプで同じことをしようとしているということです。ユーザーが見ているアコーディオン ペインを切り替えたときに、イベントを発生させることができません。上記をそのままにして、「tabchange」属性を「expand」、「beforeexpand」、「activate」、「collapse」に変更してみました。
このテストでは、次の単純な JS 関数を使用して、onchange イベント内の JS に起因する問題を回避しています。
mytabs = ColdFusion.Layout.getAccordionLayout("#attributes.cflayoutName#");
mytabs.on('expand',
function(tablayout,tab) {
console.log('test');
}
);
エラーはありません。コンソールには何も記録されません。console.log をアラートに置き換えて、その行の問題を除外しようとしました。