1. react js 怎样绑定键盘敲击回车事件
class Demo extends Components{
componentDidMount(){
document.addEventListener("keydown",this.handleEnterKey);
}
componentWillUmount(){
document.removeEventListener("keydown",this.handleEenterKey);
}
handleEnterKey = (e) => {
if(e.keyCode === 13){
//do somethings
}
}
render(){
}
}
扩展抄资料
React获取表单值袭
1、监听表单的改变事件 onChange
2、在改变的事件里获取表单输入的值 通过事件对象获取值 e.target.value
3、把表单输入的值赋值给username this.setState({})
4、点击按钮的时候获取state里面的username this.state.username
<input onChange={this.inputChange} onClick={this.getData} />
2. js事件(event)知识整理
JS事件知识整理
一、概述
javaScript中的事件是浏览器与用户交互的一种方式。当用户进行某些操作,如点击按钮、移动鼠标、加载页面等,会触发相应的事件,并执行与之关联的函数。事件处理是JavaScript中非常重要的部分。
二、事件类型
JavaScript中有多种事件类型,常见的事件类型包括:
1. 鼠标事件:如click、mouseover、mousedown等。
2. 键盘事件:如keydown、keyup等。
3. 表单事件:如submit、focus、blur等。
4. 滚动事件:如scroll。
5. 加载事件:如load。
三、事件处理
事件处理涉及到事件监听器和事件处理器。
1. 事件监听器:用于监听特定的事件,当该事件被触发时,会执行相应的函数。可以通过addEventListener方法来添加事件监听器。
示例代码:
javascript
element.addEventListener {
// 事件处理代码
});
2. 事件处理器:事件触发时执行的函数。可以在事件监听器中定义。
事件处理器中可以访问到Event对象,该对象包含了与事件相关的各种属性和方法。通过Event对象,我们可以获取事件的详细信息,如触发事件的元素、事件类型、鼠标位置等。
四、事件流
事件流描述的是事件的传播过程。一个事件发生后,会通过三个阶段:捕获阶段、目标阶段和冒泡阶段。添加事件监听器时,可以选择是否在捕获阶段或冒泡阶段处理事件。
五、移除事件监听
使用removeEventListener方法可以移除事件监听器。如果不再需要某个事件的监听,应该及时移除,避免不必要的资源浪费和潜在的错误。
示例代码:
javascript
element.removeEventListener;
六、总结
JavaScript的事件处理是前端开发中的基础技能之一,理解事件的类型、处理机制以及事件流的过程对于开发交互丰富的网页应用至关重要。通过熟练掌握事件处理,可以为用户提供更加流畅和自然的体验。
3. js怎么听移动端键盘展开事件
方法一实现代码:
var winHeight = $(window).height();
$(window).resize(function(){
var thisHeight=$(this).height();
if(winHeight - thisHeight >50){
//窗口发生改变(大),故此时键盘弹出
//当软键盘弹出,在这里面操作
}else{
//窗口发生改变(小),故此时键盘收起
//当软键盘收起,在此处操作
}
});
方法二:监控键盘。
监控的方式其实筛选下来也不过两种:
① 时钟setInterval不停监控
② 系统级别的监控,比如键盘出现时候通知window一个事件,但是很遗憾现在还没有这个事件,但是这个事件等于
input类元素获取焦点 == 弹出虚拟键盘
input类元素失去焦点 == 收起虚拟键盘
基于系统监控这点,我们还可以监控resize事件或者scroll事件,但是经过我的测试。
setInterval表现比较好.于是,我们简单写一段代码,可靠是否满足需求:
window.alert = function (msg) {
$('body').append('<div>' + msg + '</div>')
};
function fixedWatch(el) {
if(document.activeElement.nodeName == 'INPUT'){
el.css('position', 'static');
} else {
el.css('position', 'fixed');
}
}
setInterval(function () {
fixedWatch($('#headerview header'));
}, 500);
4. js 键盘监听页面中一个div块儿的左右滚动条,但是必须先鼠标点击一下div才可以监听,怎么解决取消点击
不知道你使用的是什么方式绑定的监听事件。
假如使用 addEventListener,那就使用removeListener 来移除。
案例如下
<!DOCTYPEHTML>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
<title>事件监听与移除</title>
</head>
<body>
<divid="text"style="width:300px;height:300px;background-color:#ccc">
点击按钮注册click事件
</div>
<inputid="btn1"type="button"value="开始监听事件">
<inputid="btn2"type="button"value="移除监听事件">
<script>
var$=function(obj){
returndocument.querySelector(obj);
}
varn=0;
functiontextFn(){
this.textContent="点击了"+(++n)+"次";
}
$('#btn1').onclick=function(){
console.log($('#text'));
$('#text').addEventListener('click',textFn);
$('#text').textContent="开始监听click事件";
};
$('#btn2').onclick=function(){
n=0;
$('#text').removeEventListener('click',textFn);
$('#text').textContent="移除监听click事件,恢复到"+n+"次";
};
</script>
</body>
</html>
5. 如何用JS禁用网页F12按键。。。急急
你可以监听键盘事件,当键盘按下去是F12的时候,return false。这样就可以禁止了,然后这没有什么卵用。F12只是快捷键,人家要看你的源代码,审查元素,一样会出来。所以,这时候你又想到禁右键菜单,然而,想看你的人,直接从工具进去,也是可以看到,所以,我不建议去做无用功
6. 如何实时监听 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 码对应表
7. JS 怎么实现按钮按下时,相当于空格键效果
JS实现绑定事件监听的几种方法 一、行内绑定 行内绑定:在HTML的标签中通过onclick属性进行绑定,绑定方式:on+事件名,在将所触发的事件赋值给该属性,如下: <button onclick="alert('123');">点击</button> 二、使用element.onclick进行事件绑定 使用element