HTML5 新增的 input 事件

来源:https://www.cnblogs.com/WizardWu/archive/2018/04/21/8902304.html
-Advertisement-
Play Games

以往 HTML 的 input 輸入框,無法即時(實時)反映使用者(用戶)的輸入內容。現在 HTML5 新增的 input 事件,可達成此一需求。 ...


以往 HTML 的 input 輸入框,無法即時反映使用者的輸入內容。
onkeyup、onkeydown 事件,無法即時、精確地取得使用者的輸入資料;而 onchange、onblur 事件,要等到失去焦點時,或按下 Enter 時,才會被觸發。

現在 HTML5 新增的 input 事件,可達成「立即、精準地觸發」,類似 AJAX 功能。唯一的缺點,是不支援 IE 瀏覽器,但支援其他各瀏覽器。

如下 html 程式碼,可測試出,input 事件可達成「立即、精準地觸發」;舊有的 change 事件,則需要失去焦點時,或按下 Enter 時,才會被觸發。

 1 <!DOCTYPE html>
 2 <html >
 3 <head>    
 4     <script>
 5         function myFunc1(input) {
 6             document.getElementById("output1").value = input;
 7         }
 8         
 9         function myFunc2(input) {
10             document.getElementById("output2").value = input;
11         }
12     </script>
13 </head>
14 <body>
15     <input id="input1" type="text" oninput="myFunc1(this.value)" />
16     <br />
17     <input id="input2" type="text" onchange="myFunc2(this.value)" />
18     <p></p>
19     <output id="output1"></output>
20     <br />
21     <output id="output2"></output>
22 </body>
23 </html>
oninput、onchange 比較


進一步聯想,若寫的是: 購物商場、網路書城,若要讓 input 或 textarea 輸入框,能夠「立即、精準地觸發」,只要使用 HTML5 的 input 事件,則不必自己寫程式去加入 AJAX 功能,就能輸鬆地達成需求。

如下 html 程式碼:

 1 <!DOCTYPE html>
 2 <html >
 3 <head>
 4     <title>oninput</title>
 5     <script>
 6         function myFunc1(input) {
 7             document.getElementById("output1").value = 
 8                 input * 230;
 9         }
10     </script>
11 </head>
12 <body>
13     書名:快快樂樂學HTML5, <br />
14     價格:230, 購買數量:
15     <input id="input1" type="number" step="1" value="0" oninput="myFunc1(this.value)" />
16     <br /><br />
17     結帳金額:
18     <output id="output1"></output>
19 </body>
20 </html>

 


圖 1 執行結果


HTML5 的 input 事件,主要的缺點,是不支援微軟的 IE 瀏覽器,但支援 Chrome、Firefox、Opera、Safari、微軟的 Edge。
因此在網頁裡,引用此事件,對手機、平板上的操作,並不造成影響。
--------------------------------------------
--------------------------------------------
參考書籍:

[1] HTML5 完美風暴(第三版), ch5, 作者:呂高旭
http://www.books.com.tw/products/0010668517
--------------------------------------------
相關文章:

[1] HTML 事件屬性
http://www.runoob.com/jsref/event-oninput.html
http://www.w3school.com.cn/tags/html_ref_eventattributes.asp

[2] HTML5 input 事件檢測輸入框變化
http://www.cnblogs.com/luozhihao/p/4649868.html

[3] HTML5 標準事件 oninput 實現輸入檢測
https://www.fedte.cc/p/604.html
--------------------------------------------
--------------------------------------------

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 面對那些晦澀的html書你不禁要問:“難道要成為專家之後才能讀懂這些?”那麼,你應該選擇《head first html與css、xhtml(中文版)》真正來學習html。這本書對你來說,將是一個系統學習創建工業標準web頁的體驗,而不只簡單地閱讀:你將玩游戲、解決謎題、探索秘密,並以你從未想過的方 ...
  • HTML & CSS 設計與構建網站採用有別於許多傳統編程書籍的新穎編排方式,將使您收到事半功倍的學習效果。每一頁都在短小精悍的示例代碼的引導下,簡明直觀、直截了當地闡述一個新主題。 《HTML & CSS 設計與構建網站》還提供關於如何組織和設計網頁的實用信息,以便幫助您創建充滿魅力、易於使用的網 ...
  • npm作為下載node附送的大禮包,大家一定不會陌生。 然而關於npm,估計大量的只是用到npm install XXX以及npm run XXX。 其實這裡邊還有很多有意思的命令&參數。關於npm,大概有兩個作用: 下載相關的操作 下載主要就是圍繞著install這一個命令來的。 install ...
  • 建議儘量都使用 ,原因如下: 一致性:使用==對一致性沒有任何好處,那麼為什麼不避免使用呢。 簡單和性能:一般來說, 是最簡單的操作符,因為它不用進行類型轉換。JavaScript引擎的性能參差不齊,但是在大部分瀏覽器中 比==速度更快。 即使會自動轉換,但並不總是按你需要的方式轉換:比如7+“3” ...
  • ``` /* * 需求:給圖片的src地址前面增加為assets * * 1. 將需要匹配的內容原封不動的寫入正則表達式 * 2. 將改變的內容替換為.*? * 3. 將.*?添加(),目的是為了能夠將src中的內容單獨匹配一次作為匹配結果 * 4.通過replace將內容替換 * content.... ...
  • undefined和null與任何有意義的值比較返回的都是false,但是null與undefined之間互相比較返回的是true。 console.log(null == false); //false console.log(null == true); //false console.log( ...
  • 在做這個功能時,圖片被擋住了。。 解決辦法 在這個圖片的css裡加上z-index:數字;(數字可以為正也可以為負數) z-index:1肯定在z-index:-1的上面 用這個屬性來給div分層 是個不錯的選擇 ...
  • 運用摺疊面板後 可以讓頁面更加整潔 有什麼不懂的可以留言 代碼放到底部 需要引入的文件 JQuery代碼: html代碼 <div class="layui-colla-item"> <div class="layui-colla-title" style="background-color: #e ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...