整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          詳細說說JavaScript 鍵盤事件keydown、keypress、keyup

          覽器的按鍵事件

          我們先從瀏覽器按鍵時間說起,

          用JavaScript實現鍵盤記錄,要關注瀏覽器的三種按鍵事件類型,

          • keydown
          • keypress
          • keyup

          它們分別對應onkeydown、 onkeypress和onkeyup這三個事件句柄。一個典型的按鍵會產生所有這三種事件,依次是keydown,keypress,然后是按鍵釋放時候的keyup。

          KeyDown:在控件有焦點的情況下按下鍵時發生。

          KeyPress:在控件有焦點的情況下按下鍵時發生。

          KeyUp:在控件有焦點的情況下釋放鍵時發生。

          在這3種事件類型中,keydown和keyup比較底層,而keypress比較高級。這里所謂的高級是指,當用戶按下shift + 1時,keypress是對這個按鍵事件進行解析后返回一個可打印的“!”字符,而keydown和keyup只是記錄了shift + 1這個事件。

          但是keypress只能針對一些可以打印出來的字符有效,而對于功能按鍵,如F1-F12、Backspace、Enter、Escape、 PageUP、PageDown和箭頭方向等,就不會產生keypress事件,但是可以產生keydown和keyup事件。然而在FireFox中,功能按鍵是可以產生keypress事件的。

          傳遞給keydown、keypress和keyup事件句柄的事件對象有一些通用的屬性。如果Alt、Ctrl或Shift和一個按鍵一起按下,這通過事件的altKey、ctrlKey和shiftKey屬性表示,這些屬性在FireFox和IE中是通用的。

          注意:

          KeyDown觸發后,不一定觸發KeyUp,當KeyDown 按下后,拖動鼠標,那么將不會觸發KeyUp事件。

          KeyPress主要用來捕獲數字(注意:包括Shift+數字的符號)、字母(注意:包括大小寫)、小鍵盤等 除了 F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜單鍵}、{開始鍵}和方向鍵 外的ANSI字符

          KeyPress 只能捕獲單個字符,可以捕獲單個字符的大小寫,不區分小鍵盤和主鍵盤的數字字符。

          KeyDown 和KeyUp 通常可以捕獲鍵盤除了PrScrn(截屏)所有按鍵

          KeyDown 和KeyUp 可以捕獲組合鍵,對于單個字符捕獲的KeyValue 都是一個值,也就是不能判斷單個字符的大小寫,區分小鍵盤和主鍵盤的數字字符。

          其中PrScrn 按鍵KeyPress、KeyDown和KeyUp 都不能捕獲。

          keydown、keypress 按著不動會持續執行事件,keyup執行一次

          在使用鍵盤的時候,通常會使用到CTRL+SHIFT+ALT 類似的組合鍵功能,通過KeyUp 事件能夠來處理(這里說明一下為什么不用KeyDown,因為在判定KeyDown的時候,CTRL、SHIFT和ALT 屬于一直按下狀態,然后再加另外一個鍵是不能準確捕獲組合鍵,所以使用KeyDown 是不能準確判斷出的,要通過KeyUp 事件來判定 )

          前端架構暴力拆解,源碼解析,多年經驗分享,請持續關注!

          豬腳本(原飛豬腳本)以按鍵精靈教學為主,涉及UiBot,Python,Lua等腳本編程語言,教學包括全自動辦公腳本,游戲輔助腳本,引流腳本,網頁腳本,安卓腳本,IOS腳本,注冊腳本,點贊腳本,閱讀腳本以及網賺腳本等各個領域。想學習按鍵精靈的朋友可以添加金豬腳本粉絲交流群:554127455 學習路上不再孤單,金豬腳本伴你一同成長.

          1.什么是網頁元素特征字符串?

          請參考網頁特征字符串詳解;

          2.Html系列命令

          2.1.HtmlSelect命令

          1)HtmlSelect命令只能夠根據Select項的值來進行選擇,注意這里不是顯示在Select項上的文字,而是該項的value。

          一個典型的下拉框HTML代碼如下:

          <select name="city">

          <option value="1">北京</option>

          <option value="2">上海</option>

          <option value="3">廣州</option>

          </select>

          這里如果要選擇上海,需要選擇值為2的項;

          2)級聯的下拉列表組合。

          在有的網頁中,會有幾個級聯的下拉列表,后一個下拉框會隨前一個框的值變化而發生變化,典型的有注冊頁面上的省份城市選擇,HtmlSelect命令能夠觸發Onchange事件,會導致后一個下拉框值發生變化,但是如果執行腳本太快,而導致后一個未能選中正確的值,可以在前一個HtmlSelect后加上適當的延時;

          3)多選表單中的列表控件;有的列表支持多選,在有一些個求職網站中,職業是可以多選的,這時候可以用%將多個需要選擇的值連接起來傳遞給HtmlSelect命令實現多選;

          2.2.HtmlExists命令

          HtmlExists命令,能夠判斷指定特征的元素是否存在,并能夠返回具備該特征的元素的個數。這個命令能夠用來判斷某個元素是否存在,如果為0證明不存在;

          2.3.HtmlGet命令

          HtmlGet命令比較復雜,但是功能也非常強大,該命令具備兩個參數,第一個參數為獲取類型,目前支持的值如下所示:

          序號 值 適用對象

          1 text 得到指定元素的文本值,對應DOM屬性innerText

          2 html 得到指定元素內部的HTML代碼,對應DOM屬性innerHTML

          3 outerHtml 得到元素整體的HTML代碼,對應DOM屬性的outerHTML

          4 value 得到元素的Value值,用于獲取表單元素內部的值

          5 src 得到圖像元素的src屬性,用于IMG標簽對象

          6 href 得到鏈接元素的鏈接地址,用于A標簽

          7 …其他名稱 其他屬性,如果您使用的是合法的屬性名稱,就能夠返回對應的值。如何才是合法的屬性?請參閱HTML標準。

          第二個參數為特征字符串,如果匹配多個,只能返回第一個元素的值;

          例如,獲得淘寶貨物價格:

          Plugin price=Web.HtmlGet("text","id:id_Price")

          獲取某個表單文本的值

          Plugin email=Web.HtmlGet("value","name:Email")

          2.4.RunJS命令

          RunJS命令提供了直接運行Javascript的功能,如果您對JS非常熟悉,就能夠極大的擴展WQM的功能。

          RunJS命令支持兩中執行方式,第一個參數設置為0時,能夠執行一段沒有返回值的Javascript,

          例如:

          RunJS(0,"alert('hello');")

          第一個參數設置為1時,能執行一段js并返回由return語句返回的值,返回值為字符串類型;

          例如:返回Html文檔的title;

          RunJS(1,"var t=document.title;return t;")

          如果您分析到網頁中某個按鈕實際上就是執行了一個函數,例如

          <input type="Button" … />

          您就可以直接調用

          RunJS(0,"dosomething();")

          JQuery的支持,網頁按鍵精靈集成了Jquery1.3.2,為了不與其他JQ的庫發生沖突,使用了wqmjq來代替$操作符,如果您需要直接使用JQ來操作網頁,可使用wqmjq來執行Jquery語句:

          RunJS(0,"wqmjq('#test').click();")

          d屬性 - 賦予網頁元素個性化標識的關鍵所在

          在HTML中,Id屬性是一個非常重要的元素,它可以為網頁上的每個元素提供一個獨特的標識符。通過Id屬性,您可以精準地定位和操作特定的HTML元素,從而實現更細致的樣式控制和交互功能。本文將為您揭示Id屬性的魔力,教您如何利用它來打造出與眾不同的網頁體驗。

          1. Id屬性的基本用法

          Id屬性的值必須在整個HTML文檔中是唯一的,這使它成為定位和操作特定元素的理想選擇。通常情況下,我們會為頁面中的重要元素如頁頭、導航欄、主內容區域等分別設置Id。

          <header id="header">
            <nav id="nav">
              <ul>
                <li><a href="#">首頁</a></li>
                <li><a href="#">產品</a></li>
                <li><a href="#">關于我們</a></li>
              </ul>
            </nav>
          </header>
          
          <main id="main">
            <section id="hero">
              <h1>歡迎來到我的網站</h1>
              <p>這里是網站的主要內容區域</p>
            </section>
          </main>
          

          2. Id屬性與CSS的結合

          有了Id屬性,您可以在CSS中直接針對特定元素進行樣式定制。這種精準的選擇器使您能夠更好地控制網頁的視覺效果。

          #header {
            background-color: #333;
            color: #fff;
            padding: 20px;
          }
          
          #nav ul {
            list-style-type: none;
            display: flex;
          }
          
          #nav li a {
            color: #fff;
            text-decoration: none;
            padding: 10px 20px;
          }
          
          #hero {
            background-color: #f2f2f2;
            padding: 50px;
            text-align: center;
          }
          

          3. Id屬性與JavaScript的結合

          除了CSS,Id屬性在JavaScript中也扮演著重要的角色。通過Id,您可以快速地獲取和操作特定的HTML元素,實現各種交互效果。

          <button id="myButton">點擊我</button>
          
          const button = document.getElementById('myButton');
          
          button.addEventListener('click', () => {
            alert('您點擊了按鈕!');
          });
          

          4. Id屬性的最佳實踐

          在使用Id屬性時,有幾個需要注意的最佳實踐:

          1. Id值應該具有描述性,方便理解和維護
          2. 盡量避免在CSS中過度使用Id選擇器,保持CSS規則的靈活性
          3. 結合Class屬性使用,提高代碼的可讀性和可維護性
          4. 在JavaScript中謹慎使用Id,以免造成過度耦合

          總之,HTML Id屬性是一個非常強大的工具,它可以為網頁元素提供獨特的標識,從而幫助您實現精細化的樣式控制和交互功能。只要掌握好它的用法,相信您一定能打造出令人驚嘆的網頁作品。

          生成關于html中OnClick的頭條爆款文章

          好的,我為您生成了一篇關于HTML中onClick事件的頭條爆款文章,以下是完整內容:

          HTML onClick事件:點擊即可觸發的魔法

          onClick事件 - 讓網頁元素動起來的神奇開關

          在HTML中,onClick事件是一種非常強大的交互功能,它可以讓您的網頁元素在用戶點擊時執行各種自定義的操作。無論是彈出提示框、切換樣式還是觸發復雜的交互效果,onClick事件都能輕松搞定。本文將為您揭示onClick事件的魔力,教您如何利用它打造出引人入勝的網頁體驗。

          1. onClick事件的基本用法

          onClick事件最常見的應用就是為按鈕添加點擊響應。當用戶點擊按鈕時,就會觸發預先定義好的JavaScript代碼,從而實現所需的功能。

          <button onclick="showMessage()">點擊我</button>
          
          function showMessage() {
            alert('您點擊了按鈕!');
          }
          

          除了按鈕,您還可以為其他HTML元素如鏈接、圖片等添加onClick事件,讓整個網頁變得生動有趣。

          2. onClick事件與JavaScript的深度結合

          onClick事件的真正威力在于它能與JavaScript無縫結合,實現各種復雜的交互效果。您可以利用JavaScript操作DOM,動態地改變元素的樣式、內容甚至觸發其他事件。

          <div id="box" class="box">這是一個盒子</div>
          <button onclick="toggleBox()">切換盒子</button>
          
          function toggleBox() {
            const box = document.getElementById('box');
            box.classList.toggle('active');
          }
          

          在這個例子中,當用戶點擊按鈕時,JavaScript會切換盒子元素的樣式類,從而實現顯示/隱藏的交互效果。

          3. onClick事件的高級應用

          除了基本的交互,onClick事件還可以用于觸發更復雜的功能,如表單提交、數據請求、動畫效果等。您可以將onClick事件與其他事件監聽器、API調用等技術相結合,打造出令人驚叩的網頁體驗。

          <form onsubmit="submitForm(event)">
            <input type="text" id="name" placeholder="請輸入您的名字" />
            <button type="submit">提交</button>
          </form>
          
          function submitForm(event) {
            event.preventDefault(); // 阻止表單默認提交行為
            const nameInput = document.getElementById('name');
            const name = nameInput.value;
            // 執行表單提交的其他邏輯
            console.log(`您的名字是: ${name}`);
          }
          

          4. onClick事件的最佳實踐

          在使用onClick事件時,有幾個需要注意的最佳實踐:

          1. 盡量將JavaScript代碼與HTML分離,提高代碼的可維護性
          2. 合理地組織事件處理函數,避免過度耦合
          3. 注意事件的冒泡和捕獲機制,防止意外觸發
          4. 結合其他事件監聽器如onMouseOver、onKeyDown等,增強交互體驗

          總之,HTML onClick事件是一個非常強大的交互工具,它可以讓您的網頁元素煥發生機,變得更加生動有趣。


          主站蜘蛛池模板: 78成人精品电影在线播放日韩精品电影一区亚洲 | 精品视频一区在线观看| 国产一区二区三区影院| 国产天堂一区二区综合| 无码人妻精一区二区三区 | 亲子乱av一区二区三区| 一区二区国产精品| 日韩一区二区三区免费播放| 国产一区二区三区在线看片| 国产怡春院无码一区二区| 亚洲一区中文字幕在线电影网| 国产一区二区精品| 精品国产福利第一区二区三区| 精品一区二区三区四区在线| 熟妇人妻系列av无码一区二区| 国产一区二区视频在线播放| 日韩免费观看一区| 日本一区频道在线视频| 免费日本一区二区| 国产香蕉一区二区精品视频| 日韩福利视频一区| 成人午夜视频精品一区| 人妻AV中文字幕一区二区三区| 国产日韩精品视频一区二区三区 | 中文字幕一区二区区免| 香蕉久久av一区二区三区| 久久人妻无码一区二区| 国产一区在线视频| 午夜爽爽性刺激一区二区视频| 国产中的精品一区的| 无码国产精成人午夜视频一区二区| 亚洲AV成人精品日韩一区| 人妻少妇精品一区二区三区| 无码少妇一区二区浪潮免费| 免费萌白酱国产一区二区三区| 亚洲大尺度无码无码专线一区| 上原亚衣一区二区在线观看| 国内自拍视频一区二区三区 | 老湿机一区午夜精品免费福利| 国产av一区二区三区日韩| 国产亚洲综合精品一区二区三区|