首页 > 解决方案 > 无法访问事件内的变量

问题描述

我正在尝试处理一个基本表单(使用 JQuery for DOM)。

这是我的代码:

var username = $('#username').val();
var email = $('#email').val();
var pass = $('#pass').val();

$('#signup').on('click', function() {
    alert(username);
});

在触发事件之前,我检查并发现前三个变量按预期工作。在函数内部,alert(username)给出一个空字符串。

请帮忙!!!

标签: javascriptjquery

解决方案


那是因为您username在处理事件时在 click 事件中创建了事件对象,它返回一个对象,所以您username在此函数中创建了事件对象,因此它不再引用第一个值,它将采用事件对象的新值所以只需username从括号中删除

$('#signup').on('click', function() {
  var username = $('#username').val();
  var email = $('#email').val();
  var pass = $('#pass').val();
  alert(username);
});

它现在应该可以工作


推荐阅读