前言
由于前端研发经验少,很多常识性的东西不知道。在此整理用过的简单的常识性的东西。本次实践涉及的主要框架有:jquery、layui及knockout
通用
回车事件绑定
该事件可以使用knockout进行绑定,绑定代码如下:
<input type="text" class="layui-input" data-bind="event:{keypress:locateKeyPress}">
locateKeyPress是我们用来响应事件的方法,其声明代码如下:
function sensorWatch() {
var self = this;
……
self.locateKeyPress=function(data,event){
//如果输入的是回车
if(event.keyCode==CommonData.const.enterKeyCode){
……
return false;
}
return true;
}
CommonData.const.enterKeyCode是我自己定义的常量,值是13。需要注意的是,结尾要返回true。knockout所有的方法事件默认都是阻止该方法的效果,所以如果没有返回true,你会什么都输入不进去的。
官方文档参考地址:https://knockoutjs.com/documentation/event-binding.html
后来发现,如果不return的话,会导致页面刷新,所以,即使不希望字符被录入,也需要返回false,也就是上面的if中要返回false
sleep方法
首先,js本身没有sleep方法,需要自己实现。其次,实现js的sleep方法最简单的,就是死循环,然后到指定的时间点结束死循环。但是,这也就意味着,当前线程始终忙碌,无法进行其它的逻辑。所以,综合来看,我有些理解为什么js官方没有sleep方法了。而遇到需要sleep方法的,或许我们总是需要看看是否可以使用状态来替代需要sleep的逻辑。
页面调试备忘录
表格管理页面
页面构成
表格管理页面就是以表格的形式对页面进行管理,由于做前端比较少,所以将自己给自己提出的要解决的问题罗列在此,方便以后重复及对工作量的评估:
- 页面整体的布局结构:筛选条件都有什么?表格都有哪些操作?是否存在分页条?
- 如何请求数据和表格绑定?
- 每一列的数据展示形式是什么样的?每列数据多宽?展示几行?每行几个字?超出字数怎么办?是否需要固定在那里?
- 需要考虑分页如何呈现于交互。分页的要素有:是否显示总条数?是否可以直接跳转到指定页数?常规的功能有:点击页码跳转及上一页与下一页的分页。