我想在下面的代码中尝试实现的是当输入字段中输入“0”时,它变得没有聚焦而其他东西会被触发。
$(".val-0").keyup(function() {
if ($(this).val() === 0) {
$(this).blur();
// Do other Stuffss
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input class="val-0" type="number">
答案 0 :(得分:1)
你遗漏了一个关于类名的开头报价。
另一方面,您正在使用===
来比较哪些需要相同的数据类型(严格比较)。 input.val()
会返回string
类型而非integer
的数据。
更深入的解释here。
您想使用$(this).val() == 0)
或$(this).val() === '0')
$(".val-0").keyup(function() {
if ($(this).val() == 0) {
$(this).blur();
// Do other Stuffss
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input class="val-0" type="number">
答案 1 :(得分:0)
由于某种原因,您无法将keyup事件附加到输入类型的数字。我试着在这里举例说明。我希望它会对你有所帮助。
$(".val-0").keyup(function(event) {
console.log(event.which + ", " + $(this).val());
if ($(this).val() === 0) {
$(this).blur();
console.log($(this));
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="val-0" type="text" />
&#13;