javascript - 无法访问事件内的变量
问题描述
我正在尝试处理一个基本表单(使用 JQuery for DOM)。
这是我的代码:
var username = $('#username').val();
var email = $('#email').val();
var pass = $('#pass').val();
$('#signup').on('click', function() {
alert(username);
});
在触发事件之前,我检查并发现前三个变量按预期工作。在函数内部,alert(username)
给出一个空字符串。
请帮忙!!!
解决方案
那是因为您username
在处理事件时在 click 事件中创建了事件对象,它返回一个对象,所以您username
在此函数中创建了事件对象,因此它不再引用第一个值,它将采用事件对象的新值所以只需username
从括号中删除
$('#signup').on('click', function() {
var username = $('#username').val();
var email = $('#email').val();
var pass = $('#pass').val();
alert(username);
});
它现在应该可以工作
推荐阅读
- go - Type a type后,不能再混用
- postgresql - 如何重置表的存储参数
- reactjs - 你如何在反应中设置嵌套 css 的样式?
- javascript - 当我使用 JQuery.find 时,哪个是“选择”选项列表的 jQuery 选择器
- javafx - 如何使 JavaFX Stage 始终处于底部?
- java - 如何在JAVA中找到随机生成的数字的平均值
- c - 如何使用 C 或 glsl 实现 2D FFT 以将图像转换为频率空间并返回
- c - 调用 fork() 然后变成调用 sys_fork() 的过程是什么?
- php - preg_split :根据非常具体的模式拆分字符串
- tensorflow - TensorFlow 中的 Adam:矩估计发生在哪里?