jquery TypeError:未定义文本值

yxyvkwin  于 2022-11-22  发布在  jQuery
关注(0)|答案(1)|浏览(148)

你好,我正在尝试获取一个输入的选定值,当输入是用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:未定义文本值
这是它的Jsfiddle
有了答案,这个问题可以用.瓦尔()解决,但是selectionStart似乎给出了undef

lnvxswe2

lnvxswe21#

我看了看你瞎搞了一个改了行的6:jsfiddle - modified

//var text = focused;
var text = focused[0];

您获得undefined的原因是您要获取的jQuery对象(即“focused”)不具有这些属性(valueselectionStart等)。然而,您真正需要的是javascript对象,它可以使用focused[0]获得。
有关更多方法,请检查以下内容:How do I pull a native DOM element from a jQuery object?(来自:(https://learn.jquery.com/
(ps.我想知道你在用这段代码做什么?)

相关问题