gpt4 book ai didi

javascript - Unbreak my code - 如何在 javascript 的另一个函数中使用函数名作为参数

转载 作者:行者123 更新时间:2023-11-30 09:48:31 24 4
gpt4 key购买 nike

我有几个验证函数,我想向数组中的每个元素添加事件。

var items=[
"metraz_od",
"metraz_do",
"cena_za_metr_od",
"cena_za_metr_do",
"cena_od",
"cena_do",
"pietro_min",
"pietro_max",
"rok_budowy_od",
"rok_budowy_do",
"ilosc_pieter_od",
"ilosc_pieter_do",
"minimalna_wysokosc"
];
var items_float=[
"cena_tys"
];

function add_events(array, event, function_name){
for(var i=0; i<array.length; i++){
(function(e){
console.log("W funkcji "+array+" | "+event+" | "+function_name+" | ");
document.getElementsByName(items[e])[0].addEventListener(event, function() {
function_name(array[e])
})
})(i);
}
}



add_events(items,"keyup","validate_numb");

但它不起作用,可能是因为使用函数名称(字符串)作为函数参数(函数 add_events)——我想我不能那样做 :D

我还能做什么?

编辑:这是那个函数:

function validate_numb(name){//argumentem jest nazwa pola
var input = document.getElementsByName(name)[0].value;
var parsed_input = parseInt(input);//wartosc pola zamieniana na liczbe całkowitą
if(isNaN(parsed_input) || parsed_input<0 || input!=parsed_input){
document.getElementsByName(name)[0].value="";
console.log("Validation of "+name+" failed");
return false;
}else{
return true;
}
}

最佳答案

您需要传递函数的引用,而不是函数名。所以:

add_events(items,"keyup", validate_numb); - 不带引号

add_events(items,"keyup", "validate_numb");

关于javascript - Unbreak my code - 如何在 javascript 的另一个函数中使用函数名作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37701812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com