Javascript 如何在更改时选择输入中的文本?
此代码将“我已选择输入!”写入控制台,但不选择输入中的文本 HTML:Javascript 如何在更改时选择输入中的文本?,javascript,jquery,Javascript,Jquery,此代码将“我已选择输入!”写入控制台,但不选择输入中的文本 HTML: <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script> <input type="text" id="foo"> $(function() { $('#foo').on('change', function(){ $(this).select(); }); $('#foo
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<input type="text" id="foo">
$(function() {
$('#foo').on('change', function(){
$(this).select();
});
$('#foo').on('select', function(){
console.log("I'm selected input!");
});
});
UPD 1:stopPropagation
和preventDefault
机器人是否工作
UPD 2:此代码也不起作用:
$('#foo').on('change', function(){
$(this).focusout(function(){
$(this).select().focus();
});
});
UPD 3:当我使用调试器时
我会看到选中的文本
另外,很抱歉我的英语不好:)那里同时举办的活动太多了!因此,您需要延迟select方法。此外,$(这)在setInterval/setTimeout方法中是不同的,因此需要按如下方式缓存它:
$(function() {
$('#foo').change(function(){
var $this=$(this);
setTimeout(function(){
$this.select();
},10);
});
$('#foo').select(function(){
alert("I'm selected input!");
});
});
使用多种浏览器测试
console.log(“我是被选中的输入!”)代码>更改为console.log(此.value)代码>附带问题:是否确定onChange()对于普通输入字段是有效的事件?文本不突出,我将记录什么区别?如果文本无效,我需要选择文本。我可以使用什么事件?请尝试$(this).focus().select()代码>我相信焦点是清除选择。很高兴@Vladowski!