<div style="visibility:hidden;"><input type="file" name="photo" id="photo" /></div>
$('#photo').trigger('change');
$('#photo').change(function(e) {
alert("change fun");
});
但是警报没有显示,我的意思是根本不会触发更改。我的问题是如何在不实际浏览文件的情况下从 jquery 触发更改 $().trigger('change')
合适吧?
看到你必须正确堆叠事件,我的意思是:
- 首先,您创建在您的案例中
change
的事件 - 然后在它触发事件之后,它将起作用
请按如下方式操作:
$('#photo').change(function(e) { // change event created
alert("change fun");
});
$('#photo').trigger('change'); // then trigger
尽管您可以使用.on()
方法绑定多个事件:
$('#photo').on('change click', function(e) { // change event created
alert("change fun");
});
$('#photo').trigger('change'); // Here you can trigger either "change" or "click"
注意:
您触发了错误的事件,并且在错误的位置。您只需要先应用事件,然后才能触发该事件。
试试这个:
$(document).ready(function(){
// if you want file change event try this
$('#photo').on('change', function(e){
alert('change function');
});
// Or if you want click event try this
$('#photo').on('click', function(e){
alert('click function');
});
});
这是演示
演示
在更改函数中使用触发器事件
$('#photo').change(function(e) {
$(this).trigger('click');
alert("change fun");
});