利用input event 实时监听input输入的内容
2024-08-25 05:11:39
<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);
最新文章
- 在UTF-8中,一个汉字为什么需要三个字节?
- 【JavaScript】 JSON
- Spark1.6.2 java实现读取txt文件插入MySql数据库代码
- javscript 中的术语和俚语
- 与众不同 windows phone (50) - 8.1 新增控件: PickerFlyout, ListPickerFlyout
- 【Ubuntu日常技巧】【解决】Ubuntu 16 右上角的音量调节通知框不停地闪烁问题
- 让Qt的无边框窗口支持拖拽、Aero Snap、窗口阴影等特性
- 如何更新Android SDK和Build Tool
- 关于VBox安装GhostXP出现蓝屏processr.sys 的解决办法
- JDBC 基本操作: CRUD
- Linux下通过ioctl系统调用来获取和设置网络信息
- Docker创建支持ssh服务的容器和镜像
- Hibernate创建SessionFactory实例
- AutoTile 自动拼接(四) 学习与实践
- css中常见margin塌陷问题之解决办法
- 一个简单的python爬虫程序
- 几个js 拓扑图库
- Linux永久修改IP地址
- Quorum算法
- VBox 安装 macOS 10.12
热门文章
- jquery 实现点击图片居住放大缩小
- Visual Studio 进行Excel相关开发,Microsoft.Office.Interop.Excel.dll库
- 解决ecplise+phthon2.7中使用pytesser和tesseract进行ocr,出现报错的问题
- MySQL篇之Navicat可视化工具
- MySQL数据库篇之初识数据库
- Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
- [转]字符集、字符编码、XML中的中文编码
- Apache Hive (四)Hive的连接3种连接方式
- Python 爬虫之 Scrapy 分布式原理以及部署
- 值得一做》关于一道暴搜BZOJ1024(EASY+)