簡體   English   中英

如何在更改后的輸入中選擇文本?

[英]How to select text in input on change?

這段代碼寫着“我已選擇輸入!” 進行控制台,但不選擇輸入中的文本

HTML:

<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<input type="text" id="foo">

和javascript:

$(function() {
    $('#foo').on('change', function(){
        $(this).select();
    });
    $('#foo').on('select', function(){
        console.log("I'm selected input!");
    });
});

UPD 1: stopPropagationpreventDefault不能使機器人正常工作UPD 2:此代碼也無法正常工作:

$('#foo').on('change', function(){
    $(this).focusout(function(){
        $(this).select().focus();
    });
});

UPD 3:使用debugger我會看到選定的文本

PS對不起,我的英語不好:)

同時有太多事件在運行! 因此,您需要延遲選擇方法。 另外,$(this)在setInterval / setTimeout方法內是不同的,因此您需要按以下方式對其進行緩存:

 $(function() {

    $('#foo').change(function(){
        var $this=$(this);
        setTimeout(function(){
            $this.select();
        },10);
    });
    $('#foo').select(function(){
        alert("I'm selected input!");
    });
});

經過許多瀏覽器測試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM