<a href="javascript:void(0)" id="select-handler">select</a>
<input type="file" id="real-file-input" style="display:none" />
$('#select-handler').click(function(){
$('#real-file-input').click();
});
$('#real-file-input').bind('propertychange', function(){
alert('changed');
});
奇怪的是,当我使用
.click()
时,不会触发propertychange
。 最佳答案
实际上,对于我来说,您的代码在 IE7和8 中都可以正常工作,每当我更改input type ='file'
的值时,就会触发警报。而在> IE9 版本中不起作用。
从paulbakaus's blog on propertychange
on Internet Explorer 9
许多开发人员面临着相同的怪异行为。
为什么要使用仅Internet Explorer支持的onpropertychange
?
我宁愿继续使用 change
事件处理程序
$('#real-file-input').bind('change', function(){
alert('changed');
});
或如果它是 HTML5 ,则为
input
事件处理程序。$('#real-file-input').bind('input', function(){
alert('changed');
});
关于javascript - IE on属性更改事件不会触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18436424/