滚动宽度始终返回undefined

时间:2016-01-14 10:03:44

标签: javascript jquery html

我正在做一些程序,只要它在文本框中检测到输入更改,就需要执行某些操作。但它对我不起作用。所以我改变我开始在控制台中给出值来验证它,只要它检测到输入的变化,它总是返回未定义。  如何获得用户输入的文本大小?

<!doctype html>
<html>
<head>
<style>
    input[type=text] {
        height: 20px;
        width: 100px;
    }
</style>
<script src="jquery.js"></script>
</head>
<body>
    <input type="text" id="func"></input>
</body>
<script>
    $("#func").change(function () {
      console.log($("func").scrollWidth);
    });
</script>
</html>

2 个答案:

答案 0 :(得分:4)

您的代码中有两个错误。首先,选择没有哈希的元素func。如果在jQuery中选择id,则需要在id名称前面使用#(请参阅reference)。因此,您需要选择它:$('#func')

其次,您需要$('#func')的DOM元素而不是其jQuery包装器来访问属性scrollWidth。您可以使用$('#func')[0].scrollWidth$('#func').get().scrollWidth

来实现

但我建议您使用jQuery width function来获取输入字段的宽度:$('#func').width()

答案 1 :(得分:1)

scrollWidth是一个DOM-Element属性,而不是jQuery属性,应该定义$('#func').get().scrollWidth