我写了这个小jQuery脚本来隐藏和显示页面上的一些元素。虽然它在Safari中的Chrome上完美运行但它无法正常工作。问题出在$('#uploadButton').on('click' . . .
点击事件被捕获,因为第一个控制台已打印但隐藏和显示根本没有。
$(document).ready( function() {
$(document).on('change', ':file', function() {
var input = $(this),
numFiles = input.get(0).files ? input.get(0).files.length : 1,
label = input.val().replace(/\\/g, '/').replace(/.*\//, '');
input.trigger('fileselect', [numFiles, label]);
});
$(':file').on('fileselect', function(event, numFiles, label) {
$('#uploadButton').show();
var input = $(this).parents('.input-group').find(':text'),
log = numFiles > 1 ? numFiles + ' files selected' : label;
if( input.length ) {
input.val(log);
} else {
if( log ) alert(log);
}
});
/*PROBLEM ONLY IN THIS CLICK HANDLER*/
/*only the first console.log is working*/
$('#uploadButton').on('click',function(){
console.log('test');
$('#spinner').show();
$('#uploadButton').hide();
});
});