javascript - 按钮不响应点击 JQuery
问题描述
因此,我是 JQuery 的新手,正在尝试编写一个程序,该程序在单击按钮时返回(用于测试的控制台日志)按钮的值。由于某种原因,单击按钮时我的代码没有注册,另外我认为没有为“car”参数解析正确的值。
这是我的代码(可能比需要的多,但不确定我哪里出错了):
$(document).ready(function() {
$(":button").click(myFunction(this.value));
});
function myFunction(car) {
selection = car;
console.log(selection);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="button" name="newButton" value="Mercedes"> <br>
<input type="button" name="newButton" value="BMW"> <br>
<input type="button" name="newButton" value="Audi">
我希望程序记录按下的按钮的值,但它目前没有记录任何内容。
谢谢
解决方案
问题是您正在那里执行该功能。您应该分配它,而不是执行它。
$(document).ready(function() {
$(":button").click(myFunction);
});
function myFunction(event) {
selection = event.target.value;
console.log(selection);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="button" name="newButton" value="Mercedes"> <br>
<input type="button" name="newButton" value="BMW"> <br>
<input type="button" name="newButton" value="Audi">
您可以使用上述方式,或者更好地使用这种方式:
$(document).ready(function() {
$(":button").click(e => myFunction(e.target.value));
});
function myFunction(car) {
selection = car;
console.log(selection);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="button" name="newButton" value="Mercedes"> <br>
<input type="button" name="newButton" value="BMW"> <br>
<input type="button" name="newButton" value="Audi">
推荐阅读
- html - CSS居中div在其他
- git - 为什么`git range-diff`没有区别?
- excel - 如何使用VBA打开另一个excel
- android - 仅从双卡手机获取活动 SIM 卡
- video - 使用 ffmpeg 向视频文件添加音频会延长第一个视频帧
- javascript - 如何在 javascript 中加入这些正则表达式
- python - 使用 Tshark 在较小的部分中读取大型 PCAP
- python - Python中的非二叉树数据结构
- angular - 在导航侧边栏中,Angular Material CDK Overlay 滚动块不起作用
- flutter - Flutter:ListView:当子 ListView 到达底部时滚动父 ListView - ClampingScrollPhysics 在大小容器中不起作用