我需要捕獲keyup事件以在用戶輸入輸入時提供實時驗證(僅當輸入失去焦點時纔會觸發更改事件)。JavaScript:如何從keyup事件中獲取sender input元素的值?
我無法獲取激發evnt的輸入的編輯值。
該代碼還運行在定時器上,以防止用戶輸入時發出多個呼叫(每500毫秒觸發一次)。
我有類「priceinput」一些投入和重視KEYUP每個事件類似如下:
<script language="javascript" type="text/javascript">
var timer;
$(document).ready(function()
{
$(".priceinput").each(function()
{
$(this).keyup(function(e)
{
clearTimeout(timer);
timer = setTimeout(function()
{
//how to get the value of the input element that was changed?
var value = ???;
$.getJSON('/Validator/IsValidInput', { input: value },
function(response)
{
//indicate if input is correct
});
}, 500);
});
});
});
</script>
獲取發送輸入值,我已經試過$(this).val
,this.val()
,e.target.val()
但沒有似乎工作。
如何獲取發件人輸入的值?
+1與超時和回調時,這是一個很常見的模式。還要注意,作爲尖刻的節目,.each()不是必需的,jquery在內部處理它。 –
只需要注意人們對** $ input **中的$符號的疑問:它是變量名稱的一部分,在這種情況下,它用於指出該變量是一個jQuery對象。有關詳細信息,請參閱[此處](http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a-dollar-sign)。 – rob74