Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的JavaScript事件在任何输入上执行,而不是在Chrome中的正确字段上执行?_Javascript_Html - Fatal编程技术网

为什么我的JavaScript事件在任何输入上执行,而不是在Chrome中的正确字段上执行?

为什么我的JavaScript事件在任何输入上执行,而不是在Chrome中的正确字段上执行?,javascript,html,Javascript,Html,我有一个事件要在输入字段中的键向下执行。它在Firefox中也有同样的功能。然而,在chrome中,当我给页面任何输入(点击、按键等)时,它会执行事件(重定向)。我似乎不明白为什么。有什么想法吗 下面是javascript: var yum = document.getElementById("username"); var form = document.querySelector("div.resp-wrapper form[name='register']"); form.setAttri

我有一个事件要在输入字段中的键向下执行。它在Firefox中也有同样的功能。然而,在chrome中,当我给页面任何输入(点击、按键等)时,它会执行事件(重定向)。我似乎不明白为什么。有什么想法吗

下面是javascript:

var yum = document.getElementById("username");
var form = document.querySelector("div.resp-wrapper form[name='register']");
form.setAttribute("autocomplete", "off");
yum.addEventListener("keydown", function handler() {
    window.location.href = "https://giphy.com/gifs/troll-you-mad-face-eVy46EWyclTIA";
    this.removeEventListener("keydown", handler);
});
这是我正在处理的网页[链接已删除];你可以在现场看到问题所在。我最终将删除此链接

哦,我想我应该提到这是一个不可见的表单字段(它是一个蜜罐)。它位于验证码和最后一个可见表单字段之间。您可以通过单击字段所在的位置并按任意键来运行测试


更新:我能够在我的Windows机器上复制;chrome版本74.0.3729.131(官方版本)(64位)。在我的android上,行为也一样(触摸页面上的任何地方都会重定向我)-版本74.0.3729.136。但无法在我的Mac chrome版本71.0.3578.98上复制

找到了答案;当然,这是件愚蠢的事。我从表单字段中删除了CSS,并意识到,尽管我多次清除了缓存和浏览器历史记录,但这并不能阻止Chrome的自动填充功能每次填充该字段


当我删除CSS时,我可以看到每当我访问页面时,该字段总是被填充。Chrome一直在填写我的电子邮件地址(奇怪的是,考虑到它不是一个电子邮件字段)。我清除了我的Chrome自动填充设置,现在代码按预期工作。不幸的是,autocomplete=“off”属性不能阻止这种情况。我已经读到,通常这个属性是没有意义的,因为。

这实际上是一个合法的问题。你在看什么?这是一个开发网站。我对参观它的人没有兴趣。但是它是基于一个很多人都不熟悉的框架(osclass),所以在这里发布一个链接是最简单的。我应该说代码没有按预期执行。例如,如果单击“主页”。代码执行。或者单击“注册”时,代码将执行。有时,只要访问页面,加载后,代码就会执行。它应该只在您输入到该不可见表单字段时执行。这实际上是为了抓捕垃圾邮件发送者;我向你保证。然而,在chrome中,当我加载页面时,它会执行事件(重定向)“无法复制”。我在Chrome中导航,没有自动重定向。你在看什么?当您单击我提到的不可见表单字段时,它是否重定向了您(我想这无助于理解我当前使用的重定向是troll gif lol)。单击该字段时不应重定向。只有当你现在按下键时,它才应该重定向。是的,它按照你描述的那样工作。页面加载后,我单击用户名文本框,然后键入,然后被重定向。(在Chrome 74.0.3729.131上)有趣。也许这是我的chrome版本的问题?我也清除了缓存几次..(版本74.0.3729.131(官方版本)(64位))。但看起来我们是在同一条路上。