Javascript 防止更改时发生其他事件
在我的文本框中,我有两个事件onchange和keydown(用于回车) 现在,我对onchange事件进行了验证。如果任何验证失败,我将发出警报 但当我按下回车键时,如果验证失败,那么我不想执行 键控事件 有什么建议吗 谢谢,Javascript 防止更改时发生其他事件,javascript,Javascript,在我的文本框中,我有两个事件onchange和keydown(用于回车) 现在,我对onchange事件进行了验证。如果任何验证失败,我将发出警报 但当我按下回车键时,如果验证失败,那么我不想执行 键控事件 有什么建议吗 谢谢, Nik您需要做的是检查keydown上键代码的值是否存在无效表单。 还定义一个局部变量,假设这两个函数是在同一上下文中定义的,如果它们不在同一上下文中使用,则应用于调用它们 此时,如果(event.keyCode!=13&&!invalid){[您的操作]} 您可以获得
Nik您需要做的是检查keydown上键代码的值是否存在无效表单。 还定义一个局部变量,假设这两个函数是在同一上下文中定义的,如果它们不在同一上下文中使用,则应用于调用它们 此时,如果(event.keyCode!=13&&!invalid){[您的操作]} 您可以获得有关键码的更多信息
我希望这会有所帮助。您希望创建一个全局变量(布尔值),onchange事件将对其进行更改。将该布尔值自动设置为false,在验证后将其更改为true。在触发keydown事件后,在采取任何进一步的操作之前,您需要检查并查看它是否是enter键,以及它是否通过了所有验证
<script type="text/javascript">
var passedChecks = false;
function validateText(e) {
var src = (window.event) ? window.event.srcElement: e;
if (src.value == b) { // verify your logic is true.
passedChecks = true;
}
}
function validateKey(e) {
var src = (window.event) ? window.event.srcElement: e;
if (src.keyCode == 13) {
if (passedChecks == true) {
// process your code.
}
}
}
</script>
<input type="text" id="myText" onchange="validateText()" onkeydown="validateKey()">
var passedChecks=假;
函数validateText(e){
var src=(window.event)?window.event.src元素:e;
如果(src.value==b){//请验证您的逻辑是否正确。
passedChecks=true;
}
}
函数validateKey(e){
var src=(window.event)?window.event.src元素:e;
如果(src.keyCode==13){
if(passedChecks==true){
//处理你的代码。
}
}
}
不确定您到底想要什么,但如果您想要控制按键按下事件,您可以这样做:
<script type="text/javascript">
function onKeyDown()
{
if(event.keyCode == 13 ) // if enter key
{
// your validation-checking code here
if("validationfailed")
return false // prevent the event from happening if validation failed
else return true;// validating ok, allow it.
}
else
{
// another key, alow it.
return true;
}
}
</script>
<input type="text" id="myText" onchange="validateText()" onkeydown="return onKeyDown()">
函数onKeyDown()
{
if(event.keyCode==13)//如果输入key
{
//您的验证检查代码在这里
如果(“验证失败”)
return false//如果验证失败,防止事件发生
else返回true;//验证确定,允许它。
}
其他的
{
//另一把钥匙,离它远点。
返回true;
}
}