如果我按下(第一次)一个字符,则警告会打印一个空值。
怎么可能?我不明白。
$('#search-vulc').on('keydown', function() {
var textinsert = ($(this).val()).toLowerCase();
alert(textinsert);
});
请告诉我如何在第一次按下角色时打印它。
这里还有一个jsfiddle示例:
答案 0 :(得分:2)
使用keuyp事件:
这是因为在将新字符添加到元素的值之前触发keypress events
(因此在添加第一个字符之前触发第一个keypress event
,而值仍为空) 。您应该使用keyup
代替,这是在添加字符后触发的。
$('#search-vulc').on('keyup', function() {
var textinsert = ($(this).val()).toLowerCase();
alert(textinsert);
});
答案 1 :(得分:0)
改为使用keyup
:
$('#search-vulc').on('keyup', function() {
var textinsert = ($(this).val()).toLowerCase();
alert(textinsert);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="text" size="150" style="width: 150px;" name="qu" id="search-vulc">
&#13;
答案 2 :(得分:0)
如果您使用keydown
函数,则在dom获取输入值
使用keyup
会在您离开密钥时触发事件,以便输入值
$('#search-vulc').on('keyup', function() {
var textinsert = ($(this).val()).toLowerCase();
alert(textinsert);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="text" size="150" style="width: 150px;" name="qu" id="search-vulc">