利用JavaScript模擬京東按鍵輸入功能
在看到這個(gè)功能的時(shí)候我也很驚訝,京東竟然做了這樣的一個(gè)功能。在京東商城網(wǎng)頁(yè)版,無(wú)論你在什么位置,只需要按下S鍵,就可以將光標(biāo)定位到搜索欄進(jìn)行搜索。雖然說(shuō)這是一個(gè)很不錯(cuò)的功能,但是貌似沒(méi)有幾個(gè)人知道。
程序?qū)崿F(xiàn)很簡(jiǎn)單,在s鍵上升的時(shí)候搜索框獲得焦點(diǎn)就可以了。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>按下S鍵光標(biāo)定位搜索框</title>
</head>
<body>
<input type="text">
<script>
var search = document.querySelector('input');
document.addEventListener('keyup',function(e){
//可以使用console.log(e.keyCode)打印一下S鍵的ASCII值
if(e.keyCode === 83){
search.focus();
}
})
//在這里使用keyup而不使用keydown,
//keydown在鍵盤(pán)按下時(shí)觸發(fā),焦點(diǎn)放到搜索框,然后會(huì)觸發(fā)S鍵,使S進(jìn)入搜索框。
//而使用keyup,是在鍵盤(pán)返回時(shí)進(jìn)行得到焦點(diǎn),因此搜索框中不會(huì)出現(xiàn)s.
</script>
</body>
</html>
附:鍵盤(pán)事件keydown()與keyup()
1.鍵盤(pán)按下事件:keydown() 是在鍵盤(pán)按下就會(huì)觸發(fā)
2.鍵盤(pán)彈起事件:keyup() 是在鍵盤(pán)松手就會(huì)觸發(fā)
<h1>keydown()與keyup()事件</h1>
<div style="margin:10px 0 20px 20px;">
<input class="keydown k1" type="text" placeholder="監(jiān)聽(tīng)keydown輸入:" />
按下顯示輸入的值:<em style="font-weight: 900;color: red;"></em>
</div>
<div style="margin:20px 0 0 20px;">
<input class="keyup k1" type="text" placeholder="監(jiān)聽(tīng)keyup輸入:" />
松手顯示輸入的值:<em style="font-weight: 900;color: red;"></em>
</div>
<script src="~/Content/jquery.2.1.4.min.js"></script>
<script>
$(".keydown").keydown(function (e) {
$("em").first().text(e.target.value);
});
$(".keyup").keyup(function (e) {
$("em:last").text(e.target.value);
});
</script>
執(zhí)行上述代碼塊可以看出
keydown 事件觸發(fā)在文字還沒(méi)敲進(jìn)文本框,這時(shí)如果在 keydown 事件中輸出文本框中的文本,得到的是觸發(fā)鍵盤(pán)事件前的文本,而 keyup 事件觸發(fā)時(shí)整個(gè)鍵盤(pán)事件的操作已經(jīng)完成,獲得的是觸發(fā)鍵盤(pán)事件后的文本
總結(jié)
到此這篇關(guān)于利用JavaScript模擬京東按鍵輸入功能的文章就介紹到這了,更多相關(guān)JS模擬京東按鍵輸入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript實(shí)現(xiàn)輸入框內(nèi)容提示及隱藏功能
這篇文章主要介紹了javascript實(shí)現(xiàn)輸入框內(nèi)容提示及隱藏功能,實(shí)現(xiàn)方法真的超簡(jiǎn)單,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09
ionic中的$ionicPlatform.ready事件中的通用設(shè)置
$ionicPlatform.ready事件是用于檢測(cè)當(dāng)前的平臺(tái)是否就緒的事件,相當(dāng)于基于document的deviceready事件, 在app中一些通用關(guān)于設(shè)備的設(shè)置必須在這個(gè)事件中處理2017-06-06
原生js實(shí)現(xiàn)autocomplete插件
這篇文章主要介紹了原生js實(shí)現(xiàn)autocomplete插件的相關(guān)資料,需要的朋友可以參考下2016-04-04
textarea支持圖形編輯的實(shí)現(xiàn)方法
本來(lái)以為只有iframe支持編輯了,今天突然發(fā)現(xiàn)textarea也支持編輯 :( 是不是我太愚鈍了? textarea不能用innerHTML來(lái)插入html,而用appendChild 這樣的話稍微修改下,評(píng)論等簡(jiǎn)單的textarea的表情插入就可以直接顯示出來(lái)了 而不是只顯示emot了 比較實(shí)用標(biāo)題起的確切,但如果叫“現(xiàn)textarea支持編輯”似乎更廢話2008-03-03
js模仿php中strtotime()與date()函數(shù)實(shí)現(xiàn)方法
這篇文章主要介紹了js模仿php中strtotime()與date()函數(shù)實(shí)現(xiàn)方法,涉及javascript時(shí)間操作的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08
使用GPT寫(xiě)代碼實(shí)現(xiàn)高亮頁(yè)面關(guān)鍵字
這篇文章主要為大家介紹了使用GPT寫(xiě)代碼實(shí)現(xiàn)高亮頁(yè)面關(guān)鍵字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
javascript ES6 Template String模板字符串使用方法
這篇文章主要介紹了javascript ES6 模板字符串(Template String)是增強(qiáng)版的字符串,用反引號(hào)(`)標(biāo)識(shí),它可以當(dāng)作普通字符串使用,也可以用來(lái)定義多行字符串,或者在字符串中嵌入變量,需要的朋友可以參考下2023-06-06
js實(shí)現(xiàn)網(wǎng)頁(yè)版貪吃蛇游戲
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)網(wǎng)頁(yè)版貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02

