0

用户在开始输入时能够看到输入字段下方出现的选项。这是当前执行此操作的 Javascript:

    #number {
    display:none;
    }
    
    <body onload="
    $('#gname').bind('keyup change',function(){
    if(this.value.length > 0){
    $('#number').show();
    }
    else {
    $('#number').hide();}
    });
    ">

    <input type="text" id="gname">

    <div id="number">
        testing testing
    </div>
</body>

我还试图让用户在输入之前也可以选择在 div 上切换,并且在输入后出现 div 时也可以关闭它...

关于如何操作代码的任何想法?

4

2 回答 2

3

使用toggle()功能 - DEMO

$(function() {

    $('#gname').on('keyup change', function() {
        if (this.value.length > 0) {
            $('#number').show();
        } else {
            $('#number').hide();
        }
    });    

    $("#hint").on("click", function() {
        $('#number').toggle();
    });

});

更新

要在单击按钮禁用提示后禁用提示重新出现 - 只需取消绑定事件侦听器:

$("#hint").on("click", function() {
    $('#number').toggle();
    $('#gname').off('keyup change');
});

演示

于 2012-09-27T15:47:14.363 回答
0

你想为它处理焦点和模糊功能..试试这个

$('#gname').bind('keyup change blur', function() {
    if (this.value.length > 0) {
        $('#number').show();
    }
    else {
        $('#number').hide();
    }
});

$('#gname').on('focus', function() {
    $('#number').show();

});​

检查演示

于 2012-09-27T15:47:49.680 回答