1
我有这个输入文本字段,我想选择(突出显示)前3个字符,当它改变时。在使用JQuery触发器更改INPUT文本字段时选择特定文本
<input class="descriptions" value="temp text"/>
而且我有此脚本监视onChange事件......
$(document).on('change','.descriptions',function(event) {
event.target.focus();
event.target.setSelectionRange(0,3);
});
当我手动更改此输入文本字段中的文本,该脚本工作。但是,当我使用Jquery和链接触发事件时,它不会:
<a onMouseDown="javascript:$('.descriptions').val('test text');
$('.descriptions').trigger('change');">update input</a>
我以为它们几乎是一样的!我注意到,如果我将event.target
记录到控制台,输出结果不完全相同。
有什么想法?
谢谢。这确实在片段中工作,但不在我的网站上。原来问题是,当输入值以编程方式更新时,您必须等待片刻才能选择其中的文本。我使用'window.setTimeout(function(){)'暂停节拍,它工作。 – Hank
@Hank'setTimeout()'根本不需要。我已经更新了我的答案,以便在您的问题中显示超链接,尽管我已将所有JavaScript和JQuery从HTML中移出(因为它们应该是这样)。 –
再次感谢ScottMarcus。我认为在我的实际网站上的事情很复杂,因为有成百上千的这些条目,而且不依赖于特定的ID或索引,事情必须混淆在我试图用来访问和配对的广泛类定义中链接和输入。我会报告更多细节。 – Hank