javascript - 当用户选择自动完成值时是否会触发事件?
问题描述
如果我有一个带有自动完成字段的表单:
<form>
<label>First name: <input type=text autocomplete="given-name"></label>
</form>
当用户从下拉列表中选择一个自动完成值(但在模糊事件之前)时,是否会触发一个事件?
解决方案
您可以尝试使用 获取背景颜色window.getComputedStyle(elem).getPropertyValue("background-color")
,尽管这只适用于 Chrome(据我所知,它是唯一在自动完成时更改输入背景颜色的浏览器)。
$(document).ready(function() {
function getBgrColor(elem) {
return window.getComputedStyle(elem).getPropertyValue("background-color");
}
var initial = getBgrColor($('input')[0]);
$('input').on('blur input', function() {
var bgr = getBgrColor($(this)[0]);
if (bgr != initial) {
console.log("Autofilled");
}
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
Select an autocomplete option, then click outside the input
<br><br>
<label>First name: <input type=text name="name"
autocomplete="given-name"></label>
</form>
Chrome中的演示:
推荐阅读
- c# - 我如何在 SignalR 中执行基于令牌的身份验证?
- php - 在 Laravel 中插入空字符串或空图像
- angular - 角度 2-run 单击并双击锚标记
- php - Laravel 中的 PHP If 语句参数
- dart - 错误:名称“Image”在库“package:flutter/src/widgets/image.dart”和“package:image/src/image.dart”中定义。-- ambiguous_import
- django - 过滤多个 ID 上的 GraphQL 查询时出现“格式错误的十六进制 UUID 字符串”(Graphene-Django)
- outlook-addin - 是否可以创建可下载的 Outlook Web 插件
- variables - woocommerce 获取可变产品属性
- asp.net-mvc - Delete Data Api with Table 关联了另一个表 .net Core
- node.js - JSX 支持不再适用于 gulp-eslint 5.0.0