我想創建一個簡單的函數,它可以接受一個參數並將它傳遞給.toggle()事件。該頁面可能包含數百個單獨的切換事件。我想要一個函數來處理所有這些事件。使用函數來觸發.toggle()而不是.click()
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。展開一個類別並點擊零件編號記錄以查看問題。
你應該使用'$('。sel')。event(handler)'語法,而不是象onclick =「doSomething()」這樣的內聯事件處理程序。 – 2012-03-02 17:36:47
同意。你應該使用''('。list')。on('click',function(){/ *你的AJAX的東西* /; $(this).fadeToggle('fast');});'This將允許擺脫你的HTML在你的onclick,並在一個函數調用,而不是兩個函數調用所有事件 – Birdman 2012-03-02 17:43:31
我怎樣才能傳遞參數我通過內聯事件處理程序toggleVehicles(<?echo $ id;? >)? – Devin 2012-03-02 17:52:09