jquery 上的简单按键事件无法正常工作
Simple keypress event not working correctly on jquery
我的代码有效,但只有 returns 如果我在存在的字符串之后再次写入,则为真。其中 flowName
是文本 input
.
例如:数据库:Flow123
按键时:Flow123 returns false 但是当我点击另一个键时 returns true。
这是我的代码:
//validate flow name
$('#flowName').keypress(function () {
var flowName = $(this).val();
$.ajax({
url: '/check-flowName',
type: 'post',
data: {flowName: flowName},
success: function (result) {
console.log(result);
//if exists
if (result) {
}
//else do nothing
}
})
});
我该如何解决这个问题?
如果您使用 keypress
,您将在 input
的值中丢失最后按下的 key
, 因为 event
在键被按下,所以在input
值中不考虑这个键。
解法:
你需要用到keyup
event,所以松开时最后按下的键可以算作value
[=21] =]
只需将代码中的 keypress
替换为 keyup
:
$('#flowName').keyup(function () {
var flowName = $(this).val();
});
我的代码有效,但只有 returns 如果我在存在的字符串之后再次写入,则为真。其中 flowName
是文本 input
.
例如:数据库:Flow123
按键时:Flow123 returns false 但是当我点击另一个键时 returns true。
这是我的代码:
//validate flow name
$('#flowName').keypress(function () {
var flowName = $(this).val();
$.ajax({
url: '/check-flowName',
type: 'post',
data: {flowName: flowName},
success: function (result) {
console.log(result);
//if exists
if (result) {
}
//else do nothing
}
})
});
我该如何解决这个问题?
如果您使用 keypress
,您将在 input
的值中丢失最后按下的 key
, 因为 event
在键被按下,所以在input
值中不考虑这个键。
解法:
你需要用到keyup
event,所以松开时最后按下的键可以算作value
[=21] =]
只需将代码中的 keypress
替换为 keyup
:
$('#flowName').keyup(function () {
var flowName = $(this).val();
});