2013-07-08 78 views
0

我試圖編寫一個函數,當調用切換我的'p'標記。使用函數切換div與jQuery

我知道我可以使用

$(this).click(function(){ 
    // Run my function here 
}); 

但我想它作爲一個功能,因此它可以被稱爲,我可以在多個項目中使用它。

任何人都可以看到我的錯在哪裏呢?

(function(toggle){ 
    $(this).on("click", function(){ 
     $(this).parent().find('p').slideToggle(); 
    }); 
}) 

下面的示例代碼:http://jsfiddle.net/UBaSq/

+0

您還沒有添加任何選擇的單擊處理 –

回答

3
toggler = function() { 
    $(this).parent().find("p").slideToggle(); 
} 

// someElement will be passed as "this" to toggler 
$("someElement").on("click", toggler); 

// Call toggler right away 
toggler.apply($("someElement")); 
+0

謝謝@Mishik,CAN我問,應用程序做了什麼? – Liam

+1

'functionX.apply(obj,[arg1,arg2,...])'==用參數'arg1,arg2,...調用函數X並將'this'設置爲'obj'。類似:'functionX.call(obj,arg1,arg2,...)'==同樣適用,但你需要列出參數而不是通過數組提供它們。 – mishik

1

嘗試

jQuery(function($){ 
    $('a').on("click", function(){ 
     $(this).parent().find('p').slideToggle(); 
    }); 
}); 

演示:Fiddle