你有没有遇到过这个IE7的错误:
<input type="file" id="xxx">
<script>
$('#xxx').change(function(){ alert(1) })
</script>
当我点击输入&amp;选择一个文件,警报框第一次显示。然后我点击身体上的空白区域,警报框再次显示。即使我将更改事件绑定到带有JQuery 1.6的input:file(此时最新),也会发生这种情况。
我怎样才能以最简单的方式阻止这种情况?谢谢你的所有建议!
答案 0 :(得分:6)
这是我在经历了一段时间的“头脑风暴”之后所做的:
$('input:file').click(
function(){
$(this).one(
'change',
function(){ alert(1) /*do stuff here*/ }
)
}
)
每次用户单击输入以选择文件时,我们将事件“更改”绑定一次。因此,每当用户想要选择文件时,事件就会触发一次。
感谢上帝,它有效!谢谢大家。
答案 1 :(得分:0)
一旦你的功能运行,我就会解除触发器的绑定