javascript - 单击时调用自定义函数(javascript / jquery)
问题描述
我是初学者,在调用我在 JavaScript 或 jQuery 上创建的函数时遇到问题。
如果我使用它,它可以工作:
$("#objectId").click(function(){
alert("Clicked on objectId")
}
但是,如果我预先定义了一个函数并在 onclick 上调用它,它就不起作用
function alertOnClick(objectToClick) {
alert("Clicked on " + objectToClick)
}
$("#objectId").click(alertOnClick("objectId"))
在这种情况下,它会在页面加载时发出警报,并且不会在点击时发出警报。
我在语法上做错了什么,为什么?
非常感谢
解决方案
因为您正在调用该函数alertOnClick
而不是将其作为参考传递
你应该做这样的事情:
$("#objectId").click(alertOnClick)
function alertOnClick(ev) {
alert("Clicked on " + ev.target.id);
}
当您这样做时,您在单击事件发生之前使用 as 参数$("#objectId").click(alertOnClick("objectId"))
调用该alertOnClick
方法。objectId
您应该做的是传递方法的引用,以便在click
事件发生时调用它。
推荐阅读
- sql - Postgresql 按数组重叠排序
- datatable - antd Table在datasource数据发生变化时不会自动重新渲染
- python-3.x - wsgi 在 weblate + apache2 + wsgi 设置中找不到 virtualenv 中的模块
- java - 这两种创建 TreeMap(或任何地图)的方式有什么区别?
- java - 从 JavaFX 1.8 迁移到 Java 11 + JavaFX 和 Maven
- mailchimp - 名称:'MissingSchemaError'
- html - CSS - 如何获得可变宽度
- 在我的垂直导航菜单中
- 在我的垂直导航菜单中
- python - 删除字符串中重复的字符集 - Python
- javascript - Sequelize ORM - 使用多键更新多对多表
- linux - sed 在一行中更改未知字符串,其余部分保持不变