我們先從瀏覽器按鍵時間說起,
用JavaScript實現鍵盤記錄,要關注瀏覽器的三種按鍵事件類型,
它們分別對應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();")
在HTML中,Id屬性是一個非常重要的元素,它可以為網頁上的每個元素提供一個獨特的標識符。通過Id屬性,您可以精準地定位和操作特定的HTML元素,從而實現更細致的樣式控制和交互功能。本文將為您揭示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>
有了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;
}
除了CSS,Id屬性在JavaScript中也扮演著重要的角色。通過Id,您可以快速地獲取和操作特定的HTML元素,實現各種交互效果。
<button id="myButton">點擊我</button>
const button = document.getElementById('myButton');
button.addEventListener('click', () => {
alert('您點擊了按鈕!');
});
在使用Id屬性時,有幾個需要注意的最佳實踐:
總之,HTML Id屬性是一個非常強大的工具,它可以為網頁元素提供獨特的標識,從而幫助您實現精細化的樣式控制和交互功能。只要掌握好它的用法,相信您一定能打造出令人驚嘆的網頁作品。
生成關于html中OnClick的頭條爆款文章
好的,我為您生成了一篇關于HTML中onClick事件的頭條爆款文章,以下是完整內容:
在HTML中,onClick事件是一種非常強大的交互功能,它可以讓您的網頁元素在用戶點擊時執行各種自定義的操作。無論是彈出提示框、切換樣式還是觸發復雜的交互效果,onClick事件都能輕松搞定。本文將為您揭示onClick事件的魔力,教您如何利用它打造出引人入勝的網頁體驗。
onClick事件最常見的應用就是為按鈕添加點擊響應。當用戶點擊按鈕時,就會觸發預先定義好的JavaScript代碼,從而實現所需的功能。
<button onclick="showMessage()">點擊我</button>
function showMessage() {
alert('您點擊了按鈕!');
}
除了按鈕,您還可以為其他HTML元素如鏈接、圖片等添加onClick事件,讓整個網頁變得生動有趣。
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會切換盒子元素的樣式類,從而實現顯示/隱藏的交互效果。
除了基本的交互,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}`);
}
在使用onClick事件時,有幾個需要注意的最佳實踐:
總之,HTML onClick事件是一個非常強大的交互工具,它可以讓您的網頁元素煥發生機,變得更加生動有趣。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。