1. 工厂函数的几种形式
//第一种
window.onload=function(){
...}
//第二种(要引入jquery)
$(document).ready(function(){
...}
//第三种(最常用)
$(function(){
...})
window.onload: 页面上的所有元素加载完毕才会执行,才会触发window.onload事件。
$(document).ready{ }:当HMTL下载完成并解析为DOM树之后(并不意味着所有关联的文件都已经下载完毕),代码就会执行。
2. datagrid双击删除行&添加行
//datagrid双击事件 onDblClickRow 单击行事件 onClickRow
onDblClickRow: function (index, row) {
// alert(JSON.stringify(row));
var Ele = []//新建一个空的数组
Ele.push(row);//把拆分好的数据用push的方法保存到数组Ele中。
objs.$userAllSelect.xdatagrid('deleteRow',index)//根据索引删除对应的行。
objs.$userSelectAdd.xdatagrid('insertRow',{//在右边插入新行。
index : 0,
row : {
'keyObj' : Ele[0].keyObj ,
'valueObj' : Ele[0].valueObj
}
})
}
2. input文件上传以及预览
视频文件
<video style="display:none;" controls="controls" id="aa" oncanplaythrough="myFunction(this)"></video>
<input type="file" onchange="changeFile(this)" >
<script>
function myFunction(ele) {
alert(Math.floor(ele.duration));
}
function changeFile(ele){
var video = ele.files[0];
var url = URL.createObjectURL(video);
console.log(url);
document.getElementById("aa").src=url;
}
</script>
图片文件
<video style="display:none;" controls="controls" id="aa" oncanplaythrough="myFunction(this)"></video>
<input type="file" onchange="changeFile(this)" >
<script>
function myFunction(ele) {
alert(Math.floor(ele.duration));
}
function changeFile(ele){
var video = ele.files[0];
var reads = new FileReader();
reads.readAsDataURL(video);
reads.onload = function(e) {
var url = this.result;
};
console.log(url);
document.getElementById("aa").src=url;
}
</script>