2017-03-02 73 views
2

我想在下面的代碼中實現的是當「0」已被輸入到輸入字段時,它得不到重點和其他東西觸發。Jquery Unfocus字段,如果值等於

$(".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

你缺少的類名稱的開盤,一兩件事。

另一方面,您正在使用===來比較哪一個需要相同的數據類型(嚴格比較)。 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">

0

比較由於不能附加KEYUP事件數量的輸入類型有些道理的。我試圖在這裏展示工作示例。我希望它能幫助你。

$(".val-0").keyup(function(event) { 
 
console.log(event.which + ", " + $(this).val()); 
 
    if ($(this).val() === 0) { 
 
    $(this).blur(); 
 
    console.log($(this)); 
 
    } 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input class="val-0" type="text" />