パラメータをとり、.toggle()イベントに渡すことができる単純な関数を作成しようとしています。このページには、数百の個別トグルイベントが含まれています。これらのすべてのイベントを処理する関数が1つ必要です。.click()の代わりに.toggle()をトリガする関数を使用する
function toggleVehicles(partId) {
$("#"+partId+"vehicles").fadeToggle('fast');
}
関数は、テーブルの行をクリックすると呼び出されます。
<tr id="<? echo $id; ?>Control" onClick="showVehiclesbyPart(<? echo $id; ?>); toggleVehicles(<? echo $id; ?>)" class="list">
機能showVehiclesbyPartは、ここで問題になっている機能が続いAJAXデータの収集、です。
この機能は機能しますが、最初にクリックするとトグルが正しく実行されません。即座に外に出て戻っているかのように見えます。それに続くクリックはdivを正しく切り替えるでしょう。
私は同様の問題に関する他の記事を調べました。バインディングについても言及しました。私はjQueryとJavascriptの新機能です。私はおそらく簡単な修正だと感じるものを見つけることができません。
ページはhttp://www.partsconsign.comにあります。カテゴリを展開し、部品番号レコードをクリックして問題を確認します。
あなたは 'onclick =" doSomething() "'のようなインラインイベントハンドラではなく、 '$( '。sel')。event(handler)'のような構文を使用する必要があります。 –
合意。あなたのAJAXのもの* /; $(これ).fadeToggle( '高速');}); 'これは、あなたのHTML内のあなたのonclickを取り除き、すべてのイベントを2つの関数呼び出しの代わりに1つの関数呼び出しで持たせることができます – Birdman
私がインラインイベントハンドラtoggleVehicles(<?echo $ id;? >)? – Devin