How to use JQuery to detect value-changed event when user drag & drop text into textbox?

前端 未结 3 808
小鲜肉
小鲜肉 2021-01-03 14:53

I\'m using this jQuery code

$(\'input\').bind(\'change mouseup\', ... )

to detect if user drag text somewhere into my input & change it

相关标签:
3条回答
  • 2021-01-03 15:21

    You can use jQuery paste event with little amount of timeout until the value is pasted if you want to use it or fire a change event. Try this

    $("input").bind('paste', function(e) {
            var $el = $(this);
            setTimeout(function() {
                //Here you can use the pasted value or trigger the text change event
                $el.trigger('change');
            }, 100);
    });
    
    0 讨论(0)
  • 2021-01-03 15:24

    jQuery 1.10.1 - I had success with this...

    $('body').on('input paste drop', '#txt-some-id, function() {
        $('#btn-some-id').prop("disabled", $(this).val().length === 0);
    });
    
    0 讨论(0)
  • 2021-01-03 15:35
    var inputField = $("input");
    var oldValue = inputField.text();
    inputField.bind("drop", function() {
        //when the drop happens the input value will not be updated yet
        //use a timeout to allow the input value to change.
        setTimeout($.proxy(function() {
            if (this.value !== oldValue) {
                $(this).trigger('change');
            }
        }, this), 0);
    });
    $("input").bind("change", function() {
        oldValue = this.value;
    });
    

    run the code: http://jsfiddle.net/paulwesterberg/FJuvz/5/

    0 讨论(0)
提交回复
热议问题