До сих пор я не смог получить какие-либо руководства по функциям Делегата для Javascript.Тем более с параметрами.
Надеюсь, моя текущая проблема послужит хорошим примером.(XXXX () - это функция, которую я передаю в Fee ())
В моем нынешнем виде мой «делегат» (XXXX ()) выполняется сразу после вызова Fee (), а не когдаЯ хочу, чтобы он вызывался (где-то внутри Fee ())
строка кода, которая вызывает функцию:
Fee(prod, item, "usage", i, y, XXXX(prod, y));
Функция:
function Fee(prod, item, name, i, y, func) {
var open = false;
var prefix = "#" + prod + name;
$(prefix + y).click(function () {
var feeBoxName = prefix + "FeeBox" + y;
if (open == false) {
FeeOpen(prefix, y);
func; //delegate is called here
AddFeeButton(feeBoxName, "addFeeBtn2");
open = true;
} else {
FeeClosed(prefix, y);
open = false;
}
});
}
Функция делегата:
function XXXX(prod, y) {
var deducedFeeBoxName = "#" + prod + "usageFeeBox" + y;
alert(deducedFeeBoxName); //at present, this is called immediately when Fee is executed
UsageFeeBoxHeader(deducedFeeBoxName);
UsageFeeBoxData(deducedFeeBoxName, prod, y);
}
Комментарии?