2014-11-21 25 views
-6

我有這個textarea工作:jQuery的.VAL()不使用時`this`

<textarea id='ta' onkeydown='down(this)'></textarea> 

這JavaSript來源:

<script> 
function down(input) { 
    alert(input.val()); // not work 
    // but this is work: alert($('#ta').val()); 
} 
</script> 

爲什麼這個源不工作?

這裏是JsFiddle

+3

'.VAL()'是jQuery的的方法,所以無論是'$(輸入).VAL()',或者更好,原生JS'input.value' – pawel 2014-11-21 09:17:45

回答

3

input使用jQuery的包裝內$()因爲.val()是一個jQuery方法。

試試這個: -

alert($(input).val()); 

OR

alert(input.value); //or use simple javascript '.value'. 
1

它那像這樣的工作:

$(document).on('keyup','#ta',function(){ 
    alert($(this).val()); 
}); 
+1

發表評論請您在下面投票時,有什麼不對? – 2014-11-21 09:20:59

+0

這個答案爲什麼被低估?這完全合法。 +1。 – Terry 2014-11-21 09:21:57

0

的功能不被調用,你忘了加$()this

代碼:

$('#ta').keyup(function() { 
    alert($(this).val()); 
}); 

JSFIDDLE

+0

投票時請留下反饋意見,答案有何錯誤? – Paradoxis 2014-11-21 09:21:36

+0

爲什麼這個答案被低估?這完全合法。 +1。 – Terry 2014-11-21 09:21:39

+1

不是我的失望,但「功能沒有被調用」是不正確的。 – JJJ 2014-11-21 09:22:15