JQuery detect dropdown value is selected even if it's not changed

前端 未结 7 1799
感动是毒
感动是毒 2021-01-05 01:29

Using JQuery or JavaScript, I want to detect when a user selects a value, even if they don\'t change the already selected value.

How can this be accomplished?

<
7条回答
  •  轮回少年
    2021-01-05 02:25

    all systems go (on second click at least...)

    Set a switch to run on selection, and reset the switch after it's captured and/or on blur.

    var go = false;//switch off
    $('#MyID').on('click',function() {//on click
        if (go) {//if go
            //do stuff here with $(this).val()
            go = false;//switch off
        } else { go = true; }//if !go, switch on
    }).on('blur', function() { go = false; });//switch off on blur
    

    made a fiddle: http://jsfiddle.net/filever10/2XBVf/

    edit: for keyboard support as well, something like this should work.

    var go = false;//switch off
    $('#MyID').on('focus active click',function() {//on focus/active
        doit($(this));//do it
    }).on('change', function() {
        go=true;//go
        doit($(this));//and doit
    }).on('blur', function() { go = false; });//switch off on blur
    
    function doit(el) {
        if (go) {//if go
            //do stuff here with el.val()
            go = false;//switch off
        } else {go=true}//else go
    }
    

    made a fiddle: http://jsfiddle.net/filever10/TyGPU/

提交回复
热议问题