jquery – 解决IE7错误“输入类型=文件”onchange fire两次?

你有没有遇到这个IE7的错误
<input type="file" id="xxx">

<script> 
     $('#xxx').change(function(){ alert(1) })
</script>

当我点击输入&选择一个文件,警报框第一次显示.然后我点击身体上的空白区域,警报框再次显示.即使我将更改事件绑定到带有JQuery 1.6的input:file(目前最新),也会发生这种情况.

我怎么能以最简单的方式阻止这种情况?谢谢你的所有建议!

解决方法

这是我经过一段时间的“头脑风暴”后所做的:
$('input:file').click(
    function(){
         $(this).one(
              'change',function(){ alert(1) /*do stuff here*/ }
         )
    }
)

每次用户单击输入以选择文件时,我们将事件“更改”绑定一次.因此,每当用户想要选择文件时,事件就会触发一次.

感谢上帝,它有效!谢谢你们.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...