Javascript 第三个字符后的动作键控
嗨,有人能帮我找出在按下特定字符数之前如何停止函数运行吗 当前正在使用以下功能:Javascript 第三个字符后的动作键控,javascript,jquery,Javascript,Jquery,嗨,有人能帮我找出在按下特定字符数之前如何停止函数运行吗 当前正在使用以下功能: $('input#q').keyup 只要您按下任何键,该功能就会工作。您可以在每次按下键时将字符存储在字符串变量中,然后运行条件语句检查变量的长度。如果它等于3,则运行任何函数。您可能需要考虑焦点变化的方式。是否要在字段新聚焦时清除计数器?您还应该决定是否要计算实际添加到字段中的字符,或者如果您想计算,可以使用实际的离散按键-例如,“shift”键不会添加任何字符,但它是一个正在按下的键 无论如何,它可能是这样
$('input#q').keyup
只要您按下任何键,该功能就会工作。您可以在每次按下键时将字符存储在字符串变量中,然后运行条件语句检查变量的长度。如果它等于3,则运行任何函数。您可能需要考虑焦点变化的方式。是否要在字段新聚焦时清除计数器?您还应该决定是否要计算实际添加到字段中的字符,或者如果您想计算,可以使用实际的离散按键-例如,“shift”键不会添加任何字符,但它是一个正在按下的键 无论如何,它可能是这样的:
$(function() {
var keyCount = 0;
$('#q').keyup(function() { // "keypress" to count characters
if (++keyCount === 3) {
// do the thing
}
})
.focus(function() {
keyCount = 0; // if this is what you want
});
});
如果要计算“keypress”事件而不是“keyup”,则可能需要计算文本字段值的实际长度,而不是尝试计算事件数。关于:
var c = 0;
('input#q').keyup( function() {
c++;
if (c >= 3) {
startGame();
}
} );
你可以做:
$('input#q').keyup(function(){
if($(this).val().length > 3)
{
//do something
}
});
在添加3个字母后,类似这样的内容应该会启动代码: JavaScript
$('input#q').keyup( function() {
if( this.value.length < 4 ) return;
/* code to run below */
$('#output').val(this.value);
});
$('input#q').keyup(函数(){
如果(this.value.length<4)返回;
/*要在下面运行的代码*/
$('#output').val(this.value);
});
HTML
请注意,所涉及的字段是一个输入字段,因此浏览器已经“将字符存储在字符串中”-输入值!是的,我错过了原始代码中的输入目标,并认为这可能是某种离散检测-下次我会仔细看看:P
<input id="q" />
<br /><br />
<input id="output"/>