前言
由于前端研發(fā)經(jīng)驗(yàn)少,很多常識(shí)性的東西不知道。在此整理用過(guò)的簡(jiǎn)單的常識(shí)性的東西。本次實(shí)踐涉及的主要框架有:jquery、layui及knockout
通用
回車(chē)事件綁定
該事件可以使用knockout進(jìn)行綁定,綁定代碼如下:
<input type="text" class="layui-input" data-bind="event:{keypress:locateKeyPress}">
locateKeyPress是我們用來(lái)響應(yīng)事件的方法,其聲明代碼如下:
function sensorWatch() {
var self = this;
……
self.locateKeyPress=function(data,event){
//如果輸入的是回車(chē)
if(event.keyCode==CommonData.const.enterKeyCode){
……
return false;
}
return true;
}
CommonData.const.enterKeyCode是我自己定義的常量,值是13。需要注意的是,結(jié)尾要返回true。knockout所有的方法事件默認(rèn)都是阻止該方法的效果,所以如果沒(méi)有返回true,你會(huì)什么都輸入不進(jìn)去的。
官方文檔參考地址:https://knockoutjs.com/documentation/event-binding.html
后來(lái)發(fā)現(xiàn),如果不return的話(huà),會(huì)導(dǎo)致頁(yè)面刷新,所以,即使不希望字符被錄入,也需要返回false,也就是上面的if中要返回false
sleep方法
首先,js本身沒(méi)有sleep方法,需要自己實(shí)現(xiàn)。其次,實(shí)現(xiàn)js的sleep方法最簡(jiǎn)單的,就是死循環(huán),然后到指定的時(shí)間點(diǎn)結(jié)束死循環(huán)。但是,這也就意味著,當(dāng)前線程始終忙碌,無(wú)法進(jìn)行其它的邏輯。所以,綜合來(lái)看,我有些理解為什么js官方?jīng)]有sleep方法了。而遇到需要sleep方法的,或許我們總是需要看看是否可以使用狀態(tài)來(lái)替代需要sleep的邏輯。
頁(yè)面調(diào)試備忘錄
表格管理頁(yè)面
頁(yè)面構(gòu)成
表格管理頁(yè)面就是以表格的形式對(duì)頁(yè)面進(jìn)行管理,由于做前端比較少,所以將自己給自己提出的要解決的問(wèn)題羅列在此,方便以后重復(fù)及對(duì)工作量的評(píng)估:
- 頁(yè)面整體的布局結(jié)構(gòu):篩選條件都有什么?表格都有哪些操作?是否存在分頁(yè)條?
- 如何請(qǐng)求數(shù)據(jù)和表格綁定?
- 每一列的數(shù)據(jù)展示形式是什么樣的?每列數(shù)據(jù)多寬?展示幾行?每行幾個(gè)字?超出字?jǐn)?shù)怎么辦?是否需要固定在那里?
- 需要考慮分頁(yè)如何呈現(xiàn)于交互。分頁(yè)的要素有:是否顯示總條數(shù)?是否可以直接跳轉(zhuǎn)到指定頁(yè)數(shù)?常規(guī)的功能有:點(diǎn)擊頁(yè)碼跳轉(zhuǎn)及上一頁(yè)與下一頁(yè)的分頁(yè)。