近期一些学习总结2

1.图片平铺

这个之前也用到过几次,一直没有总结:

第一种方法:

  1. #bo{  
  2. display:inline-block;  
  3. 100%;/*图片自适应的父容器的宽*/  
  4. height:100%;/*图片自适应的父容器的高*/  
  5. }  
  6. #bo img{  
  7. 100%;  
  8. height:100%;  
  9.   

第二种方法:background-size的cover

2.layuiAdmin

3.jquery绑定事件,重复绑定时会有问题,导致最终哪个也进不去,所有在会有重复绑定可能的时候,需要先unbind解绑再绑定。

4.对于需要随时保存的页面,比如要监听页面的回退/前进、刷新、关闭。

结合angular使用的,angular自带有onDestroy,此事件在后退时会触发;而刷新时不会即刻触发,而是刷新完成后才触发,此时已经找不到刷新前的信息了;在页面关闭时没有触发;

而对于window对象自带的一些方法,

if (window.history && window.history.pushState) {
//window.on('popstate', function () { });
let that = this;
window.addEventListener("popstate", function (a) {
 
}
});
}
可监听到回退;
window.onbeforeunload和window.onunload在页面刷新时类似angular的onDestroy,而在页面关闭时,会首先触发window.onbeforeunload继而触发window.onunload。
如此一来,使用angular自带的销毁时的方法和window.onbeforeunload两个方法加上缓存(change等操作时缓存,在刷新后取),就可以实现我们的目标。
 类似的还有
window.addEventListener('beforeunload', () => {});
而对于浏览器和页面关闭的事件,由于其本身发生在一瞬间,所有有可能会对于方法事件中的代码不会执行,而我们在调试过程中在里边打了断点则会执行,实际用的时候没有断点,没有执行。
对此,可以使用
window.onbeforeunload = (e) => {
this.hasContent();
if (this.item.answerSelfId && this.item.answerSelfId.length !== 0) {
this.submit(()=> {

});
}
e.returnValue = 'xxx';
//this._message.create("comfirm", '是否确认关闭考试页面?');
}
1.e.returnValue 修改后页面关闭会弹出弹窗,虽然里边的内容不是我们这里设置的内容;
2.在后边再加一些命令 这样最后的命令没有执行,但是前边的执行了。虽然不清楚原理,不过可以用了。不过这个方法很邪乎,一会儿又不行了。
FIGHTING
原文地址:https://www.cnblogs.com/ljwsyt/p/9229020.html