㈠ js锛孷ue2锛屼簨浠跺勭悊锛岃$畻灞炴э紝鐩戣嗗睘鎬э紝class涓巗tyle缁戝畾
鐢╲-on鎸囦护鎴栬匑鐩戝惉DOM浜嬩欢锛屽苟鍦ㄨЕ鍙戞椂杩愯屼竴浜汮avaScript浠g爜锛
鍙傝冿細JS锛孷ue2锛屼粙缁嶏紝涓嶸ue3鍖哄埆锛孧VVM璁捐℃ā寮忥紝妯℃澘璇娉曪紝鏁版嵁缁戝畾
Vue涓鐨勪簨浠朵慨楗扮︼細
1銆乸revent锛氶樆姝㈤粯璁や簨浠讹紙甯哥敤锛夛紱
2銆乻top锛氶樆姝浜嬩欢鍐掓场锛堝父鐢锛夛紱
3銆乷nce锛氫簨浠跺彧瑙﹀彂涓娆★紙甯哥敤锛夛紱
4銆乧apture锛氫娇鐢ㄤ簨浠剁殑鎹曡幏妯″紡锛
5銆乻elf锛氬彧鏈塭vent.target鏄褰撳墠鎿嶄綔鐨勫厓绱犳椂鎵嶈Е鍙戜簨浠讹紱
6銆乸assive锛氫簨浠剁殑榛樿よ屼负绔嬪嵆鎵ц岋紝鏃犻渶绛夊緟浜嬩欢鍥炶皟鎵ц屽畬姣曪紱
Vue涓甯哥敤鐨勬寜閿鍒鍚嶏細
鍥炶溅 => enter銆佸垹闄 => delete (鎹曡幏鈥滃垹闄も濆拰鈥滈鏍尖濋敭)銆侀鍑 => esc銆佺┖鏍 => space銆佹崲琛 => tab (鐗规畩锛屽繀椤婚厤鍚坘eydown鍘讳娇鐢)銆佷笂 => up銆佷笅 => down銆佸乏 => left銆佸彸 => right绛夈
浠g爜妗堜緥
妯℃澘鍐呯殑琛ㄨ揪寮忔槸闈炲父渚垮埄鐨勶紝鐢ㄤ簬绠鍗曠殑杩愮畻銆傚綋鍏惰繃闀挎垨閫昏緫杩囦簬澶嶆潅鏃讹紝浼氶毦浠ョ淮鎶わ紝鍥犳わ紝褰撻亣鍒板嶆潅鐨勯昏緫鏃跺簲璇ヤ娇鐢ㄨ$畻灞炴э紝鐢╟omputed璁$畻灞炴с
浠g爜妗堜緥
閫氳繃watch鏉ュ搷搴旀暟鎹鐨勫彉鍖栥
浠g爜妗堜緥
class鏍峰紡锛屽啓娉:class="xxx" 锛屽叾涓瓁xx鍙浠ユ槸瀛楃︿覆銆佸硅薄銆佹暟缁勩
1銆佸瓧绗︿覆鍐欐硶閫傜敤浜庯細绫诲悕涓嶇‘瀹氾紝瑕佸姩鎬佽幏鍙栥
2銆佸硅薄鍐欐硶閫傜敤浜庯細瑕佺粦瀹氬氫釜鏍峰紡锛屼釜鏁颁笉纭瀹氾紝鍚嶅瓧涔熶笉纭瀹氥
3銆佹暟缁勫啓娉曢傜敤浜庯細瑕佺粦瀹氬氫釜鏍峰紡锛屼釜鏁扮‘瀹氾紝鍚嶅瓧涔熺‘瀹氾紝浣嗕笉纭瀹氱敤涓嶇敤銆
style鏍峰紡锛屽啓娉曪細:style="{fontSize: xxx}"锛屽叾涓瓁xx鏄鍔ㄦ佸硷紱:style="[a,b]"鍏朵腑a銆乥鏄鏍峰紡瀵硅薄銆
浠g爜妗堜緥
㈡ js实现设计一个对话框,并实现按ESC键和对话框关闭按钮关闭“打开的对话框”
使用eventListener监听keydown事件,如果keycode为27,说明用户按下了esc键,执行关闭操作。
监听按钮click,如果被点击执行关闭操作。
以上两个操作可以共用一个关闭对话框的方法。
个人经验,仅供参考,如果有帮助请采纳,谢谢。
㈢ js按键执行 如何按enter 键 执行 js
$('demoBtn1').click();
㈣ 取消elementUI-Notification组件($notify弹框)的esc按键关闭
项目中使用elementUI(v2.15.1)的Notification,改动样式后作为浮窗,发现esc按键会将Notification关闭,需要取消esc的按键监听。
查看element-ui/lib/notification.js发现组件mounted中有添加keydown事件监听
参照beforeDestroy中的解绑,在notify创建后直接取消keydown监听,之后按下esc键对应Notification不再关闭。
希望之后的版本有类似MessageBox的closeOnPressEscape配置。
㈤ 如何实时监听 input 和 textarea输入框值的变化
在实际前端开发中我们经常会遇到要实时监听用户的输入,根据不同的输入值来采取不同的措施。举一个常见的例子:我们在使用Google 搜索框进行搜索时,每多输入一个字,搜索框下方显示的匹配结果会实时变化。这样的效果就是通过实时监听搜索框的输入值变化从而提取不同的匹配结果来实现的。
那么,一般使用最多的输入框就是 input 和 textarea 了。要想实时监听这两种输入框的值变化,就不得不提到键盘事件 key event 了。
键盘相关事件
onkeydown
onkeypress
onkeyup
oninput
onchange
onpropertychange
onkeydown/onkeypress/onkeyup
使用这三个事件监听输入框值变化,不能监听到右键的复制、粘贴、剪切的操作。
onkeydown
按下键盘上的任意键(不包括PrScrn键)时触发;如果一直按着键不放,则会一直触发此事件。
onkeypress
按下键盘上的可显示字符键(可以参考此文的键盘按键分类一节)时触发,如果一直按着键不放,则会一直触发此事件。
onkeyup
释放键盘上的任意键(不包括PrScrn键)时触发
1、是否可以捕获组合键?
onkeydown/onkeyup可以捕获组合键,onkeypress 只能捕获单个字符。
在捕获组合键时建议使用 onkeyup 事件。
2、是否区分大小写字符?
onkeypress 能区分字符的大小写,onkeydown/onkeyup不能区分。
3、是否区分主键盘和小键盘的数字?
onkeypress不区分主键盘和小键盘的数字,onkeydown/onkeyup则可以区分。
4、触发顺序
先 onkeydown, 再 onkeypress, 最后onkeyup
参考文档
oninput/onpropertychange
上面讲到用 keydown/keypress/keyup无法监听右键粘贴复制操作,于是就有了 oninput 事件。
oninput是 HTML5的新事件,可以在输入框( textarea, input:text/password/search等)的value值发生变化时(通过 JS修改输入值除外)立即触发,所以可以监听右键粘贴复制操作。但 IE9.0以下版本不支持,此时需要用到IE特有的 onpropertychange事件。在 Safari5.0以下版本,oninput 不支持 textarea 元素。
onpropertychange是 IE特有的事件,与 oninput不同的是,只要绑定对象的相关属性(不单 value 值)发生变化(包括 通过JS脚本来修改)都会触发此事件。
onchange
要触发这个事件有2个必备条件:
1、和onpropertychange一样,只要绑定对象的相关属性发生了变化就会触发此事件。但和onpropertychange不同,通过JS脚本改变属性时无法触发);
2、输入框失去焦点后触发,所以无法做到实时监听;
键盘按键分类
键盘上的每一个按键都对应唯一的 ASCII码值,从这个角度理解其实每一个按键都是字符键。但这些按键可以分为2类: ASCII码控制字符键和 ASCII码可显示字符键。
ASCII码控制字符键
控制字符键是不会产生我们能看到的字符的按键,这类控制字符键常见的有:F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键。
常见控制字符键对应的 ASCII码见下:
ESC键 VK_ESCAPE (27)
回车键: VK_RETURN (13)
TAB键: VK_TAB (9)
Caps Lock键: VK_CAPITAL (20)
Shift键: VK_SHIFT ($10)
Ctrl键: VK_CONTROL (17)
Alt键: VK_MENU (18)
空格键: VK_SPACE (32)
退格键: VK_BACK (8)
左徽标键: VK_LWIN (91)
右徽标键: VK_LWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键: VK_INSERT (45)
Home键: VK_HOME (36)
Page Up: VK_PRIOR (33)
PageDown: VK_NEXT (34)
End键: VK_END (35)
Delete键: VK_DELETE (46)
方向键(←): VK_LEFT (37)
方向键(↑): VK_UP (38)
方向键(→): VK_RIGHT (39)
方向键(↓): VK_DOWN (40)
F1键: VK_F1 (112)
F2键: VK_F2 (113)
F3键: VK_F3 (114)
F4键: VK_F4 (115)
F5键: VK_F5 (116)
F6键: VK_F6 (117)
F7键: VK_F7 (118)
F8键: VK_F8 (119)
F9键: VK_F9 (120)
F10键: VK_F10 (121)
F11键: VK_F11 (122)
F12键: VK_F12 (123)
ASCII码可显示字符键
可显示字符键是会产生我们能看到的字符的按键,这类按键常见得有:数字(包括 shift+数字)、字母(大小写)、小键盘。
常用可显示字符键ASCII码如下:
65 A 键
66 B 键
67 C 键
68 D 键
69 E 键
70 F 键
71 G 键
72 H 键
73 I 键
74 J 键
75 K 键
76 L 键
77 M 键
78 N 键
79 O 键
80 P 键
81 Q 键
82 R 键
83 S 键
84 T 键
85 U 键
86 V 键
87 W 键
88 X 键
89 Y 键
90 Z 键
键盘按键 ASCII 码对应表
㈥ JS弹出DIV窗口,按ESC取消
显示层:
css:
.showdiv
{
width: 100%;
height: auto;
position: absolute;
left: 0;
top: 0;
z-index: 999;
display: none;
}
.count_div
{
width: 500px;
height: 400px;
margin-top: 120px;
margin-left: auto;
margin-right: auto;
margin-bottom: 0;
border: 1px solid #aaaaaa;
background: #fff;
}
.brg
{
width: 100%;
background: #ededed;
position: absolute;
top: 0;
left: 0;
filter: alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
position: absolute;
top: 0;
left: 0;
display: none;
z-index: 998;
}
js:
function close () {
$("#brg").css("display", "none");
$("#showdiv").css("display", "none");
}
function show() {
$("#brg").css("display", "none");
$("#div_show").css("display", "none");
}
$(document).bind('keydown', 'esc',function (evt){
//关闭层代码
close () ;
return false; });
html:
<!--遮罩层-->
<div class="brg" id="brg">
</div>
<!--显示层-->
<div class="showdiv" id="div_order">
<div class="count_div" id="div_order_count">
内容
</div>
</div>
在网上找一个“jquery.hotkeys.js”的js包,里面都是jquery整理好的热键,
引入jquery包。
$(document).bind('keydown', 'esc',function (evt){
//关闭层代码
return false; });
手敲,未测试,应该不会有太大问题,根据自己内容修改
㈦ 用js怎么写一个回车键盘事件
<script type="text/javascript" language=JavaScript charset="UTF-8">
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0];
if(e && e.keyCode==27){ // 按 Esc
//要做的事情
}
if(e && e.keyCode==113){ // 按 F2
//要做的事情
}
if(e && e.keyCode==13){ // enter 键
//要做的事情
}
};
</script>
Js键盘事件
keydown:按键按下
keyup:按键抬起
keypress:按键按下抬起
<body>
<input id="name" type="text" onkeydown="myKeyDown(this.id)" onkeyup="myKeyUp(this.id)">
</body>
<script>
/*输出输入的字符*/
function myKeyDown(id) {
console.log(document.getElementById(id).value);
}
/*按键结束,字体转换为大写*/
function myKeyUp(id) {
var text = document.getElementById(id).value;
document.getElementById(id).value = text.toUpperCase();
}
</script>
常用的键盘事件对应的键码:
keyCode 8 = BackSpace BackSpace
keyCode 9 = Tab Tab
keyCode 12 = Clear
keyCode 13 = Enter
keyCode 16 = Shift_L
keyCode 17 = Control_L
keyCode 18 = Alt_L
keyCode 19 = Pause
keyCode 20 = Caps_Lock
keyCode 27 = Escape Escape