[菜鸟笔记]认识 event.preventDefault()

<接续Alpha Camp 学期2-2 Movie List 的笔记>

认识 event.preventDefault()
我要来测试在点选(提交submit) Search按钮时侯,可不可以出现我要的东西

searchForm.addEventListener('submit', function onSearchFormSubmitted(event) {  console.log('click')// for test  // 页面出现了重新整理,但是资料重整后不见就消失,无法出现。   })

有出现这个问号,代表页面被重新整理过
http://img2.58codes.com/2024/2015393327Ee145xBp.png

让我们再看一下form 的程式码:
(小补充: HTML的form 是用来收集"user input",通常都是送去serve做处理)

<form class="row row-cols-lg-auto g-3 align-items-center mb-2" id="search-form">        <div class="col-12">          <label class="visually-hidden" for="search-input">            Search Keyword          </label>          <input type="text" class="form-control" id="search-input" placeholder="Keyword..." />        </div>        <div class="col-12">          <button type="submit" class="btn btn-primary" id="search-submit-button">            Search          </button>        </div></form>

浏览器有对某网页元素设定的预设行为,例如:点击 a 元素的时候会连到新的网页
而这里点击form 里的 button type = "submit" 时,也会自动跳页,并且将表单内容提交给远端伺服器(如果有设定method 或action 属性的话,没有设定 action 则会重新导向当前页面)
所以,在这里我们希望页面不会被重新刷新,所以我们要加入一个 event.preventDefault()在前面

searchForm.addEventListener('submit', function onSearchFormSubmitted(event) {  event.preventDefault()  console.log('click')// for test  // 页面出现了重新整理,但是资料重整后不见就消失,无法出现。 故要使用event.Preventdefault()})

这次就能出现click了~~

http://img2.58codes.com/2024/20153933vsVJwI6vX2.png

event.preventDefault()会请浏览器终止元件的预设行为,把控制权交给JavaScript


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章