JavaScript中的键盘事件为什么失效?
发布网友
发布时间:2022-04-25 13:09
我来回答
共3个回答
热心网友
时间:2022-04-23 22:33
两个错误:
1、use、pass这两个变量要设为全局的,在下面的函数中才会有效;
2、onkeydown和onclick要用全小写,不要用驼峰写法。
下面是改过后的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>键盘事件实验</title>
<script type="text/javascript">
var use,pass
window.onload = function() {
use = document.getElementById("user");
pass = document.getElementById("pass");
var denglu = document.getElementById("denglu");
use.onkeydown = key1;
pass.onkeydown = key2;
denglu.onclick = wang;
}
function key1() {
if(window.event.keyCode == 13){
pass.focus();
}
}
function key2() {
if(window.event.keyCode == 13){
wang();
}
}
function wang() {
var id = use.value;
var word = pass.value;
if(id == ""){
alert("用户名不能为空!");
use.focus();
}
else if(word == ""){
alert("密码不能为空!");
pass.focus();
}
else{
alert("开始验证登陆,请稍后...");
}
}
</script>
</head>
<body>
<h2>请按下回车键提交用户名和密码</h2>
用户名:<input type="text" id="user" /><br/><br/><br/>
密 码:<input type="password" id="pass" /><br/><br/>
<input type="button" id="denglu" value="登录" /><br/>
</body>
</html>
热心网友
时间:2022-04-23 23:51
解决方案一:
window.onload = function() {
var use = document.getElementById("user");
var pass = document.getElementById("pass");
var denglu = document.getElementById("denglu");
use.onkeydown = key1(pass);
pass.onKeydown = key2(use, pass);
denglu.onClick = wang(use, pass);
};
function key1(pass) {
document.onkeydown = function(event){
if(event.keyCode == 13){
pass.focus();
}
};
}
function key2(use, pass) {
document.onkeydown = function(event){
if(event.keyCode == 13){
wang(use, pass);
}
};
}
function wang(use, pass) {
var id = use.value;
var word = pass.value;
if(id == ""){
alert("用户名不能为空!");
use.focus();
}
else if(word == ""){
alert("密码不能为空!");
pass.focus();
}
else{
alert("开始验证登陆,请稍后...");
}
}
解决方案二:
window.onload = function() {
var use = document.getElementById("user");
var pass = document.getElementById("pass");
var denglu = document.getElementById("denglu");
use.onkeydown = key1();
pass.onKeydown = key2();
denglu.onClick = wang();
function key1() {
document.onkeydown = function(event){
if(event.keyCode == 13){
pass.focus();
}
};
}
function key2() {
document.onkeydown = function(event){
if(event.keyCode == 13){
wang();
}
};
}
function wang() {
var id = use.value;
var word = pass.value;
if(id == ""){
alert("用户名不能为空!");
use.focus();
}
else if(word == ""){
alert("密码不能为空!");
pass.focus();
}
else{
alert("开始验证登陆,请稍后...");
}
}
};追问大神想问一下为什么原来的不行呢,而且很奇怪的事第一个键盘事件可以而第二个就不可以,必须把所有的代码放到window.onload里面的函数吗
追答不全部放onload里就需要像我给的方案一一样,需要传递参数。
方案二就是放里面就不需要传参数
热心网友
时间:2022-04-24 01:25
我把代码CV下来运行了一下,发现怎么点都没有反应哎
JavaScript中的键盘事件为什么失效?
1、use、pass这两个变量要设为全局的,在下面的函数中才会有效;2、onkeydown和onclick要用全小写,不要用驼峰写法。下面是改过后的代码:<!DOCTYPE html> 键盘事件实验 var use,pass window.onload = function() { use = document.getElementById("user");pass = document.getElementById...
js中keydown键盘事件怎么只触发一次,再点击按键就不触发了?
由于标志变量的值已经改为了 `true`,所以在下次按下按键时,`keydown` 事件监听器将不会执行任何代码。如果要在第二次按下按键时结束计时,可以在 `keyup` 事件的监听器中将标志变量设为 `false`。具体代码如下:```javascript var isKeyPressed = false; // 定义一个标志变量 var startTime; ...
为什么键盘事件keypress不能输入字母和数字,但是可以显示方向键_百度知 ...
function keypress(e){ var obj = document.getElementById("content"); if(e.shiftKey){ obj.innerHTML += String.fromCharCode(e.which); }else{ obj.innerHTML += String.fromCharCode(e.which).toLowerCase(); //将ASCII码转为字符以及小写 } } document...
用javascript能否获取你剪切,复制,粘贴的数据呢
原因很简单:这涉及到个人隐私。试想你在本地电脑或 a.com 复制或剪切了一些内容,然后浏览 b.com,如果 b.com 有能力获取用户复制或剪切的内容,这等于泄露了用户的个人隐私。至于粘贴,你可以使用 Javascript 在文本框上监听键盘事件 (Ctrl + V / Shift + Ins) ,或者鼠标点击事件 (onmouseup),...
JavaScript鼠标事件、键盘事件
JavaScript可使用事件处理机制,实现网页的交互性。事件不仅通过鼠标触发,亦能通过键盘操作触发。使用 `addEventListener` 可以为任意元素绑定事件处理函数,不需要额外加上 `on` 前缀。`onkeypress` 事件只识别标准键盘按键,忽略功能键如箭头键、Shift等。键盘事件的执行顺序遵循:`keydown` -> `keypress`...
keyup事件是什么
如输入提示、界面元素的激活或禁用等。总结来说,keyup事件是用户在键盘上释放按键时触发的一种JavaScript事件。它在实时交互、表单验证等场景中有着广泛的应用,并允许开发者根据用户的键盘输入进行实时的响应和处理。通过合理地使用keyup事件,可以为用户带来更流畅、更自然的交互体验。
javascript代码实现
4)应用文本框onkeyup事件处理松开键盘事件,处理将文本框中内容的长度写到文本框下方的计数位置上。文本框内容的长度可用文本框.value.length获取。1)文本框中没有输入内容时,显示“请输入个人信息”这几个提示文字,且文字为灰色。2)文本框聚焦时提示文字消失。3)文本框中输入内容时,提示文字消失,...
JavaScript 中的window.event代表的是事件的状态,但是我有一个疑问...
一、window.event代表着事件对象的状态。只有在事件发生时生效。如鼠标、键盘等事件被触发时这个对象才存在。window.event这只在IE下是这样的。他并不是标准。。也就是说其他浏览器并不支持。在W3C标准支持的浏览器下事件对向是引发事件涵数的第一个参数,参数名随意。二、javascript函数(方法)d()...
javascript 实现点击小键盘的上下键 滚动条不随之动作
当然可以 (document).keydown(function(event){ if ((event.altKey)&& ((event.keyCode== 上键编码)||...让文档的正个键盘事件失效 就可以了
JS中keypress和keydown
在JavaScript中,当我们讨论`keypress`和`keydown`这两个事件时,它们的含义并不像字面那样简单。首先,让我们明确它们的区别:`keydown`事件记录的是用户按下键盘的那一刻,它返回的是键盘的原始代码,这个代码包含了所有按键的状态,包括但不限于字符键、功能键等。而`keypress`事件则是在用户按下并...