TypeError:text.value未定义

时间:2019-06-23 13:13:16

标签: javascript jquery

嗨,我正在尝试使用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

1 个答案:

答案 0 :(得分:1)

我看着你在摆弄第6行:jsfiddle - modified

enum

获得//var text = focused; var text = focused[0]; 的原因是,您正在获取不具有那些属性(undefinedvalue等)的jQuery对象(即“ focused”)。但是,您真正需要的是javascript对象,可以使用selectionStart使用。

有关更多方法,请检查以下内容: How do I pull a native DOM element from a jQuery object?(来自:https://learn.jquery.com/

(ps。我想知道您在使用这段代码做什么?)