我想在按下某个键时调用一个函数。我正在使用onKeyPress事件处理程序。但是我看到它只在第一次按下键时才调用该函数。我想在每次按下键时调用它。有人可以帮助我吗?
答案 0 :(得分:1)
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
var jq=jQuery.noConflict();
jq(document).ready( function(){
jq(document).keydown(function(event){
// -- here comes your code of function --
jq("#keycode").html(event.which); // example code, event.which captures key index
});
});
</script>
</head>
<body>
<div id="keycode">Press any Key to see its index</div>
</body>
您应该使用onchange
|替换onKeyPress http://www.w3schools.com/jsref/event_onchange.asp
答案 1 :(得分:1)
我运行了您的HTML代码,它按预期工作。
只有当密码具有指定长度时,您的checkPassword()
功能才可以设置为,如下代码所示:
<input type="password" name="password" size=30 onkeyPress="checkPassword(this)" />
<script type="text/javascript">
function checkPassword(pass) {
if (pass.value.length > 7) {
alert("Password is greater than 7 characters.");
} else {
//DO NOTHING
}
}
</script>
在这种情况下,如果密码不超过7个字符,该函数可能看起来没有被调用,但它实际上是(该函数运行得如此之快,你甚至不知道它正在变得叫)。
答案 2 :(得分:1)
<script>
function l(ths){
document.getElementById('length').innerHTML=ths.length;
}
</script>
Length: <span id="length"></span><br/>
<input type="text" onkeyup="l(this.value);"/>
答案 3 :(得分:1)
可能为时已晚,但是...
<script>
function checkPassword(pwd){
if(pwd.length < 8){
document.getElementById('message').innerHTML = 'Password needs to 8 characters minimum.';
}
else{
document.getElementById('message').innerHTML = '';
}
}
</script>
在HTML正文中...
<input type="password" name="password" size=30 onkeyup="checkPassword(this.value)" />
<span id="message"></span><br/>