基本的にはタイトルに質問が書いてありますが、状況はこんな感じです(jsbinなどで再現するのは難しいので、それをしないで解決しようと思います)。
ボタンをクリックすると呼び出される関数があります。クリック イベントは、使用されるフォントを出力に通知します。ただし、特定のページでは、ボタンをクリックするのではなく、body 要素のクラスによってフォントを宣言する必要があります。
私は2つの問題に直面しています。
- 引数を渡してパラメーターを受信しようとすると、パラメーターは渡したいものではなく、イベントです。
- イベントを最初のパラメーターとして渡し、必要なフォントを 2 番目のパラメーターとして渡すと、フォント変数として未定義になり、関数が機能しません。
このように関数を柔軟にするための助けは、私を大いに助けてくれます。
編集:これは私が持っているものの簡略化されたバージョンです
function fontSelection(font) {
var self = $(this),
inputOne = $('li:eq(0) input').val(),
inputTwo = $('li:eq(1) input').val(),
inputThree = $('li:eq(2) input').val(),
resultOne = $('div:eq(0)'),
resultTwo = $('div:eq(1)'),
resultThree = $('div:eq(2)');
font = font || $('div.font').attr('title').toLowerCase();
resultOne.removeClass().addClass(inputOne + ' someclass ' + font);
resultTwo.removeClass().addClass(inputTwo + ' someclass ' + font);
resultThree.removeClass().addClass(inputThree + ' someclass ' + font);
}