我是初学者,在调用我在 JavaScript 或 jQuery 上创建的函数时遇到问题。
如果我使用它,它会起作用:
$("#objectId").click(function(){
alert("Clicked on objectId")
}
但是如果我预先定义一个函数并调用它 onclick 它就不起作用
function alertOnClick(objectToClick) {
alert("Clicked on " + objectToClick)
}
$("#objectId").click(alertOnClick("objectId"))
在这种情况下,它会在页面加载时发出警报,但不会在点击时发出警报。
我在语法方面做错了什么,为什么?
非常感谢
最佳答案
为此,您需要从 alertOnClick
返回一个函数,如下所示:
function alertOnClick(objectToClick) {
return function() {
alert("Clicked on " + objectToClick)
}
}
这将允许您执行以下操作:
$("#objectId").click(alertOnClick("objectId"))
这是一个工作代码示例,可以看到它的实际效果:
function alertOnClick(objectToClick) {
return function() {
alert("Clicked on " + objectToClick)
}
}
$("#objectId").click(alertOnClick("objectId"))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js">
</script>
<button id="objectId">Object Id</button>
关于javascript - 单击时调用自定义函数 (javascript/jquery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51996489/