javascript - jQuery 输入值未定义或白色文本

标签 javascript jquery dom-events jquery-events

<分区>

这个问题大概已经被问过上千遍了,不知道是不是SEO的缘故,一直没有找到合适的解决办法。我在 Chrome 中得到未定义或空白文本。

$('input[type="text"]').on('input', (a, b) => {
    console.log(this.value);
});

这在我也试过的控制台中不断返回 undefined:

$('input[type="text"]').on('input', (a, b) => {
       console.log(b);
    });

$('input[type="text"]').on('input', (a, b) => {
       console.log($(this).val());
    });

$('input[type="text"]').on('input', (a, b) => {
       console.log(a.value);
    });

$('input[type="text"]').on('input', (a, b) => {
       console.log(b.value);
    });

任何想法将不胜感激。

最佳答案

this 关键字不会像您预期的那样工作,因为您使用的是 es6 箭头函数格式,它将更改上下文,请使用 e.target 代替它。

看看What does “this” refer to in arrow functions in ES6?

$('input[type="text"]').on('input', (e) => {
  console.log(e.target.value);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" value="test">

关于javascript - jQuery 输入值未定义或白色文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53541851/

相关文章:

javascript - 使用 jquery 和 data 属性将内容加载到 div 中

jquery - 让 .webm 在 Android 上自动播放?

javascript - 站点内容扩展和收缩

JavaScript 构造函数和原型(prototype)对象

javascript - 如何将 JavaScript 值从 View 传递到 Controller ?

javascript - 如何在Node和浏览器js中正确使用Unicode和UTF-8特殊字符?

javascript - 设置样式位置 : absolute 时,Chrome 对象标签加载多次

javascript - 如何在同一页面上的 Angular 应用程序和非 Angular 应用程序之间进行通信?

javascript - 如何在按下回车键时显示警报

javascript - 如何将javascript代码附加到asp.net中的这个动态控件文本框