2013-04-30 78 views
0

当我点击<input type=text>时,出现一个旧值列表。如果我用鼠标选择其中一个,jQuery中的事件“更改”不会触发。用鼠标检测旧值的选择

我应该使用什么事件来检测?

+0

这是一个常见问题。您最好在表单/字段上禁用自动填充功能。看到这里:http://stackoverflow.com/a/11710295/551093 – 2013-04-30 13:09:47

+0

@ChristianVarga不,你可以使用oninput。如果不支持,请参阅keyup,粘贴,更改事件 – 2013-04-30 13:11:19

+0

@roasted当_“用鼠标选择一个值”_时,我很想知道'keyup'或'paste'会被触发。另外,OP已经声明“变更”不起作用。 – 2013-04-30 13:13:35

回答

2

你必须使用oninput事件,使用jQuery:

$('#myinput').on('input',function(){ 
    //your code here 
}); 
+0

这工作!谢谢! – 2013-04-30 15:00:24

0

change如果场失去它的焦点(blur事件),才会触发。 旧的值出现是一种浏览器功能,可以记录具有相同名称的字段的表单数据。那么你不能触发change事件。您需要替代活动,如paste,input

$("#field").on("input DOMAttrModified paste",function(){ 
}); 

我不确定事件。你可以尝试一些。