javascript - Javascript首次单击输入并带有建议在Safari中不起作用
问题描述
我正在尝试在输入上附加点击处理程序,但由于某种原因,它不适用于第一次点击进入autosuggestion
safari 的输入。第一次点击后的所有其他点击都有效。因此,例如,如果一个输入在它之前有一个名称或标签First name
,或者任何类似的内容Last name
,Email
Safari 会在输入的末尾放置一个建议小部件,并建议我猜想在 Keychain Access 中的信息。Click 事件在我第一次单击该输入时不会触发,在第一次触发之后它就可以了。
这是产生此问题的代码。基本上我需要一种方法来在每次点击时触发输入的点击事件(最好是香草js,但jquery也可以)。
HTML:
<form>
// Click on this input doesn't trigger the first time I click it because Safari has a suggestion widget for this input
<label for="email">Email</label>
<input type="email" class="form-control" id="email" placeholder="you@example.com" data-input="">
// Click on this input triggers every time I click it with no issue
<label for="address">Address</label>
<input type="text" class="form-control" id="address" placeholder="1234 Main St" required="" data-input="">
</form>
JS:
var inputs = document.querySelectorAll('[data-input]');
var myFunction = function(event) {
console.log('Clicked');
};
for (var i = 0; i < inputs.length; i++) {
// I put this console.log here to see if all of the inputs pass through this for loop to get the event listener and they do
console.log(inputs[i]);
inputs[i].addEventListener('click', myFunction);
}
编辑:尽管@gopigorantala 在他的评论中的链接可能被认为是重复的,但我并不是在寻找与问题相同的东西。该问题要求一种方法来禁用输入上的 safari 自动建议功能,我正在寻找一种方法来检测输入上的点击,尽管存在自动建议。
解决方案
推荐阅读
- c# - 启用 TLS1.2 后 Asp.net 发送邮件失败
- rest - Spring Security 为两个不同的 url 配置两个不同的身份验证
- java - 从 Java jar 调用时,Jython 代码抛出 ImportError
- c# - 如何在通用 Windows 平台中添加 360 度图像视图
- r - 在 Tripadvisor 上使用 XML R 包的带单引号的 XML 属性
- javascript - 输入的javascript分布
- javascript - 如何在Angular中的对象数组内执行函数
- sql - MS SQL 不允许 VARCHAR 超过 128 个字符,为什么?
- docker - 为 php composer manager 创建一个 docker-compose.yaml 文件
- python - python文本文件解析和打印