zoukankan      html  css  js  c++  java
  • 利用input event 实时监听input输入的内容

    <div id="addNumber">
        <p>How many people would you like to invite?</p>
        <input id="numPeople" type="number" min="0" value="" placeholder="0" />
    </div>
    
    <div id="addPeople" style="display:none">
        <p>Enter the invitee's info.</p>
        <div id="memberFields"></div>
        <input type="submit" value="Send Invitations"/>
    </div>
    
    body {background: #bassa55; font-family: sans-serif;}
    
    p {margin: 1em 0 .5em}
    
    input {
        font-size: 1.2em;
        border-radius: 4px;
        padding: 4px;
    }
    
    input[type="submit"]{
        margin-top: .5em
    }
    
    /* oninput event handler (and input event handler event types) on html5 input[type="number"] 
       by @girlie_mac
    
       This quick demo shows that it is ideal to use 'input' event for better user-experience over 'change' (which requires a user to blur the field once), or 'keyup' event (which doesn't fire when you use the up/down arrow to change the values).
    
        Try this on the browser that supports the html5 input attributes and the html5 oninput event, such as Chrome.
    
    */
    
    var numPeople = document.getElementById("numPeople"),
        peopleDiv = document.getElementById("addPeople"),
        memberFields = document.getElementById("memberFields");
    
    numPeople.addEventListener("input", function(e) {
    
        peopleDiv.style.display = "block";
        var num = numPeople.value;
    
        // count pre-filled fields
        var numNode = memberFields.childNodes.length,
            numDisplay = num - numNode;
    
        // populate fields
        var html = '<input type="text" value="" name="member" placeholder="Twitter ID or Email" />';
    
        if (numDisplay >= 0) {
            for (var i = 0; i < numDisplay; i++) {
                var div = document.createElement("div");
                div.innerHTML = html;
                memberFields.appendChild(div);
            }
        } else {
            var numDelete = Math.abs(numDisplay);
            for (var i = 0; i < numDelete; i++) {
                memberFields.removeChild(memberFields.lastChild);
            }
        }
    
    }, false);
    
  • 相关阅读:
    session在.ashx文件操作问题
    最全的CSS浏览器兼容问题
    详解div+css相对定位和绝对定位用法
    CSS前5课总结
    CSS元素定位6-10课
    宽度百分比单位的转换公式
    input点击链接另一个页面,各种操作
    Excel 导入 Sql Server出错——“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”错误的解决
    jQuery:cookie插件的使用
    Jquery.Form和jquery.validate 的使用
  • 原文地址:https://www.cnblogs.com/kzwrcom/p/6378065.html
Copyright © 2011-2022 走看看