私は任意のjqueryセレクタの中で呼び出すことができるように、関数をpublicにする必要があります。 ここにコードがあります。 注:コンソールはcheckFeat fnが定義されていないと言っています。jqueryセレクタ内の関数にアクセスする
あなたのJavascriptファイルで(function checkFeat() {
$(".feat").each(function(){
if (!$(this).hasClass("active")) {
$(this).children("P").css("display","none")
}
else
{
$(this).children("P").css("display","block")
}
});
}());
$(".feat h5").on("click",function(){
$(this).parent(".feat").addClass(function(index ,currentClass){
checkFeat(); //console says this function is not defined why ?!!
return "active";
});
});
ラッピングを外し、括弧を起動し、任意の通常の関数のと同じようにそれを呼び出します。 –
それは正しいです。 javascriptのどこからでも自己呼び出し関数を呼び出すことはできません。 – mhodges
"理由"については、名前付きの関数*式*が名前自体を関数本体にスコープするため、その関数内でのみ使用できるためです。 –