读书人

同时兼容IE和FireFox的事件处理event代

发布时间: 2012-09-16 17:33:16 作者: rapoo

同时兼容IE和FireFox的事件处理event代码--添加文件上传例子

function testEvent(evt) { evt = evt ? evt : (window.event ? window.event :null);alert(evt); }?<input type="button" value="测试event" onclick="javascript:testEvent(event)"/>? ????var evt = window.event || arguments.callee.caller.arguments[0]; //获取event对象?function getEvent(){ if(document.all) return window.event; func=getEvent.caller; while(func!=null){ var arg0=func.arguments[0]; if(arg0){ if((arg0.constructor==Event || arg0.constructor==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){ return arg0; } } func=func.caller; } return null;}var evt = getEvent();// 获取event对象<script type="text/javascript" src="js/multipleUpload.js"></script><script type="text/javascript"> function save() { var the_inputs = document.getElementsByTagName("input");// 获取所有input的标签 for(var n=0; n<the_inputs.length; n++){ if(the_inputs[n].type == "file"){ if(the_inputs[n].value == "") { alert("附件不能为空!"); return false; } } } } function testEvent(evt) { evt = evt ? evt : (window.event ? window.event : null); alert(evt); }</script><tr> <td> <label for="_control_file" > <table id="conditionTable" ></table> </div> <a href="javascript:void(0);" onclick="addFile();" name="saveForm" value="保存" onClick="save()"/></td> <td><input type="button" value="测试event" onClick="javascript:testEvent(event)"/></td> </tr>/* 向指定的table中插入tr和td */var i = 0;function addFile() {i++;currRow=document.getElementById('conditionTable').insertRow(0);// 在表格的开头插入一个新行cellc=currRow.insertCell(0);// 表的一行的指定位置插入一个空的 <td> 元素cellcContext="<input type='file' id='file_com' contentEditable='false' name='file(" + (i - 1) + ")' size='65'>  <button onclick='javascript:removeFile(event);'>删除</button><br>";cellc.innerHTML=cellcContext;// onclick='removeFile();'}function findTD(o) {if (o.tagName=="TR" || o.tagName=="TABLE") // event.srcElement.tagName捕获活动标记名称 return;if (o.tagName=="TD") return (o);else return (o.parentElement);// 鼠标所在对象的上一个对象}function removeFile(evt) {evt = evt ? evt : (window.event ? window.event : null);// 传event参数(方法一)//var evt=window.event || arguments.callee.caller.arguments[0]; // 不传event参数(方法二)//var evt=getEvent();// 获取event对象(方法三)var element=evt.srcElement || evt.target;// FF中的event有这个target属性o=findTD(element);document.getElementById('conditionTable').deleteRow(o.parentElement.rowIndex * 1);}function getEvent(){ //同时兼容ie和ff的写法 if(document.all) return window.event; func=getEvent.caller; while(func!=null){ var arg0=func.arguments[0]; if(arg0){ if((arg0.constructor==Event || arg0.constructor==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){ return arg0; } } func=func.caller; } return null; }?

读书人网 >Web前端

热点推荐