我需要将参数传递给 JS 函数,但是:
执行这段代码时,在点击前调用函数,也不传参数
/*Este es el codigo AJAX al que quiero agregarle el parametro*/
$('#atribute').on('click',comprobar("hola"))
function comprobar(parametro){
alert("Este parametro es: ",parametro);
}
<!--***Este es el input***-->
<input id="atribute" type="text" title="Precio">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js
">
</script>
在您的情况下,您的函数执行语法错误,并且您也没有在警报中正确连接。您的问题的解决方案是:
在“点击”上执行事件的位置,您必须首先使其将点击事件识别为一个函数,以便它执行其他事件。
函数的第二个参数
.on()
接收函数的引用,而你将函数的结果发送给它,这显然不是一回事。实现您想要的一种方法是向您的元素添加一个属性,一旦您单击按钮,您就会读取该属性并将其发送到函数:
问题是因为您正在执行函数而不是向其传递函数的定义,以便在执行事件时调用您的函数。
您遇到的问题是您传递给警报的参数没有考虑到 javascript 语法。看看你的代码:
要显示与 javascript 变量连接的字符串,正确的是“字符串”+变量。所以:
这是您的修复代码:
看过其他解决方案后,我还为您提供以下解决方案,在该方法中,
.click()
您将参数作为对象传递。你也可以这样做
.on()
:使用 jquery 将函数传递给事件是通过回调完成的。
在此函数
+
中,用于连接警报内的两个字符串。在这种情况下,回调使用箭头符号
()=>{}
,但您也可以使用符号function(){}
,重要的是我们要执行的代码进入{}
如果你想对 javascript 做同样的事情,你可以将函数直接传递给它:
https://developer.mozilla.org/en-US/docs/Glossary/Callback_function
这是您问题的众多可能解决方案之一: