gpt4 book ai didi

Javascript:如何将带有字符串参数的函数作为参数传递给另一个函数

转载 作者:行者123 更新时间:2023-12-03 12:40:39 24 4
gpt4 key购买 nike

我需要做这样的事情:

<input type="button" value="click" id="mybtn" 
onclick="myfunction('/myController/myAction',
'myfuncionOnOK('/myController2/myAction2',
'myParameter2');',
'myfuncionOnCancel('/myController3/myAction3',
'myParameter3');');" />

这个问题的上下文是,在 onClick 上,我需要调用一个 javascript 函数,该函数将对我提供的 url 进行 ajax 调用。它将打开一个带有 OK 和 Cancel 按钮的模态 div。

到这里还好。但是我还需要告诉 javascript 函数,当在新 div 中单击 OK 按钮时,将调用另一个具有其他参数和 url 的函数。另一个用于取消按钮。

问题是我无法正确传递第二个参数,因为它没有正确转义并给我 javascript 错误。

我已经在 SO 中搜索了其他类似的 Javascript 问题,但似乎没有一个涵盖我需要做的事情。

任何人都知道如何将这种字符串参数传递给 javascript 函数?或者也许还有另一个更好的解决方案来传递我没有想到的这些东西。

提前致谢

最佳答案

一种方法是正确转义引号:

<input type="button" value="click" id="mybtn"
onclick="myfunction('/myController/myAction',
'myfuncionOnOK(\'/myController2/myAction2\',
\'myParameter2\');',
'myfuncionOnCancel(\'/myController3/myAction3\',
\'myParameter3\');');">

不过,在这种情况下,我认为更好的处理方法是将两个处理程序包装在匿名函数中:
<input type="button" value="click" id="mybtn"
onclick="myfunction('/myController/myAction',
function() { myfuncionOnOK('/myController2/myAction2',
'myParameter2'); },
function() { myfuncionOnCancel('/myController3/myAction3',
'myParameter3'); });">

然后,您可以在 myfunction 内调用他们像这样:
function myfunction(url, onOK, onCancel)
{
// Do whatever myfunction would normally do...

if (okClicked)
{
onOK();
}

if (cancelClicked)
{
onCancel();
}
}

这可能不是 myfunction实际上看起来像,但你明白了。关键是,如果您使用匿名函数,您将拥有更多的灵 active ,并且您的代码也会更加简洁。

关于Javascript:如何将带有字符串参数的函数作为参数传递给另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/909633/

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