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