37 高級(jí):MVC

課堂筆記

  • 如何監(jiān)聽<form>的提交事件
<body>
  <form action="post" id='formID'>
    <input type='text' name='content'>
    <input type='submit' value='提交'>
  </form>
 <script>
  var form = document.querySelector('#formID')
   form.addEventListener('submit',function(x){
    x.preventDefault()
    console.log(form.querySelector('type[name=content]').value)
    form.querySelector('type[name=content]').value = ''//在表單提交后清空其內(nèi)容
  })//注意此處監(jiān)聽的是<form>而不是<type>的'click'事件!
 </script>
</body>

為什么不監(jiān)聽click 事件?因?yàn)閮H監(jiān)聽'click'事件時(shí),便無法監(jiān)聽用戶使用回車提交的情況,監(jiān)聽<form>的'submit'事件可以同時(shí)監(jiān)聽用戶回車和點(diǎn)擊提交數(shù)據(jù)

  • MVC是什么(個(gè)人理解)
    MVC是一種代碼的組織模式,是三個(gè)單詞的首字母縮寫:model、view、controller
    MVC模式認(rèn)為,程序可以分為三層:頂層視圖層,中間層控制層,最底層數(shù)據(jù)層
    model就在最底層與服務(wù)器打交道,負(fù)責(zé)數(shù)據(jù)相關(guān)操作
    view在最頂層負(fù)責(zé)視圖的渲染
    controller在中間層監(jiān)聽model與view的變化,并進(jìn)行相關(guān)的操作


    圖轉(zhuǎn)自《「每日一題」MVC 是什么?(續(xù)1)》——知乎方應(yīng)杭
  • 通過不同的文件名,來將不同功能的JS代碼進(jìn)行分塊,便于管理。為避免全局變量的相互覆蓋,要在不同的JS文件中使用立即執(zhí)行函數(shù),在立即執(zhí)行函數(shù)內(nèi)部要想聲明一個(gè)全局變量,應(yīng)使用window.xxx的形式
  • 箭頭函數(shù)內(nèi)部this沒有特殊意義,就如同一個(gè)普通變量一樣,會(huì)鏈?zhǔn)较蛏险腋缸饔糜騼?nèi)的this
  • 不同的JS文件不代表是不同的作用域,不可用let重復(fù)聲明變量
  • 在對(duì)象內(nèi)部的函數(shù)中使用this要特別小心,可能需要用bind()綁定this
  • onclick addEventListener() 這兩個(gè)API的this是綁定事件的對(duì)象
  • jQuery API on() 的this分兩種情況:1.函數(shù)參數(shù)中沒有選擇器時(shí),this指向綁定事件的對(duì)象 2.函數(shù)參數(shù)中有選擇器時(shí),this指向這個(gè)選擇器選中的對(duì)象
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容