当使用`this`时,jQuery .val()不起作用

时间:2014-11-21 09:15:50

标签: javascript jquery

我有textarea

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

和这个JavaScript源代码:

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

为什么这个来源不起作用?这里是JsFiddle

3 个答案:

答案 0 :(得分:3)

使用input在jQuery包装器中包装$()因为.val()是一个jQuery方法。

试试这个: -

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

OR

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

答案 1 :(得分:1)

它的工作原理如下:

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

答案 2 :(得分:0)

该功能未被调用,您忘记将$()添加到this

代码:

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

JSFIDDLE