在选择之前检测浏览器自动填充

问题描述:

无论如何,我可以检测到自动填充之前,用户从下拉菜单中选择一个选项?在选择之前检测浏览器自动填充

enter image description here

预计:400010所见。

目前我有:

$('input').on('input paste change keyup', function(event) { 
    if(event.type=='input'){ 
     console.log($(this).val()); 
    } 
}); 

..它的工作原理之后,用户已经做出选择,而不是之前在上面的截图看到。

+0

可能重复? :http://*.com/questions/11708092/detecting-browser-autofill – DarkHorse 2014-12-19 06:28:07

+0

@DarkHorse不,试过,这些解决方案都不起作用。 – 3zzy 2014-12-19 06:29:02

+0

为了澄清,在进行选择并且该字段仍处于焦点状态后检测到更改*,但在用户将鼠标悬停在选项上时,需要更改文本。 – 3zzy 2014-12-19 06:30:12

Read this article,他们深入下去检测自动填充事件。问题是并非所有的浏览器都支持自动填充事件,但是我认为在用户做出选择之前,任何人都不会愚蠢地支持这个功能。想想这个:如果他们在选择之前支持自动填充事件,那么窃取人们的密码,邮编,信用卡等是非常简单的。因为你可以发送一个包含这些自动完成信息的AJAX请求无论用户是否真的选择了它们。

对不起,如果我没有更多的帮助。

尝试这样的:

$(document).ready(
function (event) { 
    $('.ddClass').on('mouseenter', 'option', function(e) { 
    $("#zipcode").val(this.value); 

); 
}); 

//其中.ddClass是类的下拉选项

+0

是不是这样:'$('input:not([type = password]),textarea,select')。on('hover',function(event){ \t if(event.type == 'hover'){ console.log(“hover:”+ $(this).val()); } });' – 3zzy 2015-01-21 05:47:29

+0

虽然不起作用。请参阅此屏幕录像:https://www.dropbox.com/s/bgvb0i0x4u8urpi/2015-01-21_1119.swf?dl=0 – 3zzy 2015-01-21 05:51:16

+0

Dropbox在我的结尾处被阻止 – Semicolon 2015-01-21 06:17:29