js问题记录
1:如果给type=file文件添加change事件,如果点击同一张图片,则只会触发一次onchange事件,因为change事件是根据value值定的,value不变无法触发此事件。
live: function( types, data, fn ) { jQuery( this.context ).on( types, this.selector, data, fn ); return this; }// jq 1.9以后live取消,从源码可以看出可以用on代替
$(document).ready(function(){ // 点击同一张文件只能触发一次 $("#file").change(function(){ alert("change"); }); $("#file").live("change", function () { alert("1"); });// live在jq 1.9以后就不用了,所以不能用live事件 live为一种特殊的delegate,代理宿主为body,效率不好 $("#file").on("change", function () { alert("1"); }); // 无效 $(‘body‘).delegate("#file","change",function(){alert("1");}); // 无效 // 可以在每次点击的时候都触发change事件,但是有个问题,每次file都会被清空一次,相当于没有点击 $("body").delegate("#file","change",function(){ $("#file").replaceWith("<input type=‘file‘ id=‘file‘ />"); }); });
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。