嗨,我正在尝试使用Tab键对输入进行聚焦时获得输入的选定值。这是我的代码,
HTML
<input id='texteb' type="text" value=''/>
<button>
click
</button>
JS
$(function(){
$(window).on('keyup', function (e) {
var focused = $(':focus');
if (e.which === 9){
var text = focused;
var t = text.value.substring(text.selectionStart, text.selectionEnd - text.selectionStart);
alert(t);
}
});
});
但是我遇到这个错误,
TypeError:未定义text.value
这是Jsfiddle。
有了答案,可以使用.val()解决此问题,但是 selectionStart 似乎给出了undef
答案 0 :(得分:1)
我看着你在摆弄第6行:jsfiddle - modified
enum
获得//var text = focused;
var text = focused[0];
的原因是,您正在获取不具有那些属性(undefined
,value
等)的jQuery对象(即“ focused”)。但是,您真正需要的是javascript对象,可以使用selectionStart
使用。
有关更多方法,请检查以下内容: How do I pull a native DOM element from a jQuery object?(来自:https://learn.jquery.com/)
(ps。我想知道您在使用这段代码做什么?)