js监听input输入框支持主流浏览器
Javascript利用方向键(上下键)控制表格的行选中(兼容各个浏览器)IT驿站
![Javascript利用方向键(上下键)控制表格的行选中(兼容各个浏览器)IT驿站](https://img.taocdn.com/s3/m/35fbb5d9ba4cf7ec4afe04a1b0717fd5360cb2b7.png)
Javascript利用方向键(上下键)控制表格的行选中(兼容各个浏览器)IT驿站[ad#content]这两天正在做一个通过Javascript实现用键盘的方向键来控制表格的行选中功能,自己写了个小脚本,放到这里方便以后使用。
这个脚本一共两个文件,首先是JS文件(tablecontrol.js):1.var currentLine=-1, offsetTr = 0;2.var $ =function(id){ return document.getElementById(id); }3.function keyDownEvent(e){4.var e = window.event||e;5.if(e.keyCode==38){6.offsetTr = 0;7.currentLine--;8.changeItem();9.}else if(e.keyCode==40){10.offsetTr = 150;11.currentLine++;12.changeItem();13.}else if(e.keyCode==13&¤tLine>-1){14.addUser();15.}16.return false;17.}18.function changeItem(){19.if(!$('buddyListTable')) return false;20.var it = $('buddyListTable');21.if(document.all){22.it = $('buddyListTable').children[0];23.}24.changeBackground();25.if(currentLine<0) currentLine = it.rows.length-1;26.if(currentLine >= it.rows.length) currentLine = 0;27.it.rows[currentLine].className = "buddyListHighLight";28.if($('allBuddy')){29.$('allBuddy').scrollTop = it.rows[currentLine].offsetT op-offsetTr;30.}31.}32.function changeBackground(){33.var it = $('buddyListTable');34.if(document.all){35.it = $('buddyListTable').children[0];36.}37.for(var i=0; i<it.rows.length; i++){38.if(i%2==0){39.it.rows[i].className = "buddyListOdd";40.}else{41.it.rows[i].className = "buddyListEven";42.}43.}44.}45.function addUser(){46.var it = $('buddyListTable');47.if(document.all){48.it = $('buddyListTable').children[0];49.}50.var trBody = it.rows[currentLine].innerHTML;51.$('result').innerHTML = $('result').innerHTML+trBody;52.}下面是HTML文件:1.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">2.<html xmlns="/1999/xhtml">3.<head>4.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />5.<script language="javascript" src="tablecontrol.js"></script>6.<style type="text/css">7..buddyListOdd{8.background-color:#f0f0f0;9.}10..buddyListEven{11.background-color:#ffffff;12.}13..buddyListHighLight{14.background-color:#DCE2E8;15.}16.</style>17.</head>18.<body>19.<div style="width: 312px; height: 180px; overflow-y: scroll; overflow-x: hidden;color:#747678" id="allBuddy">20.<table cellspacing="0" cellpadding="0" border="0" width="100%" id="buddyListTable"><tbody>21.<tr class="buddyListOdd">23.<td align="left" valign="middle">AAAAAA</td>24.<td align="left">+861311111111</td>25.</tr>26.<tr class="buddyListEven">27.<td width="26px"><input type="checkbox"></td>28.<td align="left" valign="middle">BBBBBB</td>29.<td align="left">+861322222222</td>30.</tr>31.<tr class="buddyListOdd">32.<td width="26px"><input type="checkbox"></td>33.<td align="left" valign="middle">CCCCCC</td>34.<td align="left">+861333333333</td>35.</tr>36.<tr class="buddyListEven">37.<td width="26px"><input type="checkbox"></td>38.<td align="left" valign="middle">DDDDDD</td>39.<td align="left">+861344444444</td>40.</tr>41.<tr class="buddyListOdd">42.<td width="26px"><input type="checkbox"></td>43.<td align="left" valign="middle">EEEEEE</td>44.<td align="left">+861355555555</td>45.</tr>46.<tr class="buddyListEven">47.<td width="26px"><input type="checkbox"></td>48.<td align="left" valign="middle">FFFFFF</td>49.<td align="left">+861366666666</td>50.</tr>51.<tr class="buddyListOdd">53.<td align="left" valign="middle">GGGGGG</td>54.<td align="left">+861366666666</td>55.</tr>56.<tr class="buddyListEven">57.<td width="26px"><input type="checkbox"></td>58.<td align="left" valign="middle">HHHHHH</td>59.<td align="left">+861377777777</td>60.</tr>61.<tr class="buddyListOdd">62.<td width="26px"><input type="checkbox"></td>63.<td align="left" valign="middle">IIIIII</td>64.<td align="left">+861388888888</td>65.</tr>66.<tr class="buddyListEven">67.<td width="26px"><input type="checkbox"></td>68.<td align="left" valign="middle">GGGGGG</td>69.<td align="left">+861300000000</td>70.</tr>71.<tr class="buddyListOdd">72.<td width="26px"><input type="checkbox"></td>73.<td align="left" valign="middle">KKKKKK</td>74.<td align="left">+861321111111</td>75.</tr>76.<tr class="buddyListEven">77.<td width="26px"><input type="checkbox"></td>78.<td align="left" valign="middle">LLLLLL</td>79.<td align="left">+861322222222</td>80.</tr>81.<tr class="buddyListOdd">83.<td align="left" valign="middle">MMMMMM</td>84.<tdalign="left">+86132****3333</td>85.</tr>86.<tr class="buddyListEven">87.<td width="26px"><input type="checkbox"></td>88.<td align="left" valign="middle">NNNNNN</td>89.<td align="left">+861311111111</td>90.</tr>91.</tbody>92.</table>93.</div>94.<div>95.首先把鼠标焦点放入下面的输入框,然后按键盘的上下键,可以看到表格中的行被高亮选中<br />96.<input type="text" onkeyup="return keyDownEvent(event);"/><br />97.按回车后,相对应的表格项会出现在下面,当然这只是一个简单的Demo,复杂的操作开发者可以自己添加<br />98.<table id="result"></table>99.</div>100.</body>101.</html>。
JS监听input框的回车事件、属性值改变事件
![JS监听input框的回车事件、属性值改变事件](https://img.taocdn.com/s3/m/53ee51c809a1284ac850ad02de80d4d8d15a0119.png)
JS监听input框的回车事件、属性值改变事件
⼀、介绍
在程序猿门的⼯作中,经常会遇见⼀些表单数据的提交,对于有表单的东西⽽⾔,input输⼊框是⾮常常见的,所以对于⼀些input的基本事件,我们需要去掌握
⼆、input的监听enter事件
⽐如我现在⼜这么⼀个输⼊框,想要监听他的回车键事件,案列如下
<input id="btn" type="text">
//输⼊框的enter事件
$('#btn').bind('keydown',function(event){
if(event.keyCode == "13") {
alert(1111);
}
});
三、input的熟悉propertychange事件
⽐如我现在有这么⼀个输⼊框,当他的值发⽣改变时,我想获取他的值
<input id="btn" type="text">
//输⼊框的属性事件
$('#btn').bind('input propertychange',function() {
alert("1111");
});。
js解析 readastext filereader -回复
![js解析 readastext filereader -回复](https://img.taocdn.com/s3/m/2e9c802f571252d380eb6294dd88d0d233d43ceb.png)
js解析readastext filereader -回复题目:理解和应用JavaScript中的readAsText和FileReader摘要:在JavaScript中,readAsText和FileReader是常用的文件读取方法和对象,用于将文件内容转换为可供JavaScript处理的文本数据。
本文将逐步解析如何使用readAsText方法和FileReader对象,并提供一些常见应用案例和注意事项。
第一部分:了解readAsText方法在JavaScript中,readAsText是FileReader对象的一个方法,它用于读取文件,并将其内容转换为文本字符串。
readAsText方法接收一个参数,即要读取的文件对象。
下面是使用readAsText进行文件读取的基本步骤:1. 创建一个FileReader对象:使用`new FileReader()`来创建一个新的FileReader对象。
2. 监听文件加载事件:使用`onload`事件监听器来检测文件是否已加载完毕,若加载完毕则执行相应的逻辑。
3. 调用readAsText方法:使用`readAsText(file)`来读取指定的文件对象。
例子:javascriptdocument.getElementById("file-input").addEventListener("change", function(event) {var file = event.target.files[0];var reader = new FileReader();reader.onload = function() {var fileData = reader.result;console.log(fileData);}reader.readAsText(file);});上面的例子展示了如何监听一个文件输入框(input[type="file"])的`change`事件,当用户选择一个文件后,使用readAsText方法读取文件内容,并通过控制台打印出来。
JS加入收藏夹的代码(主流浏览器通用)
![JS加入收藏夹的代码(主流浏览器通用)](https://img.taocdn.com/s3/m/24879286dc88d0d233d4b14e852458fb770b382e.png)
JS加⼊收藏夹的代码(主流浏览器通⽤)所有浏览器通⽤的js添加收藏夹代码复制代码代码如下:<script>function addfavorite(){if (document.all){window.external.addFavorite('','XXX');}else if (window.sidebar){window.sidebar.addPanel('XXX', '', "");}}</script><a href="#" onclick="addfavorite()">XXX</a>打开,另存为,属性,打印"等14个JS代码■刷新■■导⼊收藏■■导出收藏■■整理收藏夹■■查看原⽂件■■语⾔设置■■打开■<input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开><OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>■另存为■<input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为><OBJECTclassid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>■属性■<input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=属性><OBJECTclassid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>■打印■<input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印><OBJECTclassid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>■页⾯设置■<input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=页⾯设置><OBJECTclassid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>■刷新■<input type=button value=刷新 name=refresh onclick="window.location.reload()">■导⼊收藏■<input type="button" name="Button" value="导⼊收藏夹" onClick=window.external.ImportExportFavorites(true,);>■导出收藏■<input type="button" name="Button3" value="导出收藏夹" onClick=window.external.ImportExportFavorites(false,);>■加⼊收藏■<INPUT name=Button2 onclick="window.external.AddFavorite(location.href, document.title)" type=button value=加⼊收藏夹>■整理收藏夹■<INPUT name=Submit2 onclick="window.external.ShowBrowserUI(OrganizeFavorites, null)" type=button value=整理收藏夹>■查看原⽂件■<INPUT name=Button onclick=window.location = "view-source:" + window.location.href type=button value=查看源⽂件>■语⾔设置■<INPUT name=Button onclick="window.external.ShowBrowserUI(LanguageDialog, null)" type=button value=语⾔设置>■前进■<INPUT name=Submit onclick=history.go(1) type=submit value=前进>■后退■<INPUT name=Submit2 onclick=history.go(-1) type=submit value=后退>- 作者: gatebill 2005年11⽉1⽇, 星期⼆ 12:42 回复(0) | 引⽤(0)加⼊博采JS实现浏览器菜单命令每当我们看到别⼈⽹页上的打开、打印、前进、另存为、后退、关闭本窗⼝、禁⽤右键等实现浏览器命令的链接,⽽⾃⼰苦于不能实现时,是不是感到很遗憾?是不是也想实现?如果能在⽹页上能实现浏览器的命令,将是多么有意思的事啊!下⾯我们就来看看如何⽤Javascript代码实现浏览器菜单命令(以下代码在Windows XP下的浏览器中调试通过)。
JS针对浏览器窗口关闭事件的监听方法集锦
![JS针对浏览器窗口关闭事件的监听方法集锦](https://img.taocdn.com/s3/m/c5429c7b24c52cc58bd63186bceb19e8b8f6ec00.png)
JS针对浏览器窗⼝关闭事件的监听⽅法集锦本⽂实例总结了JS针对浏览器窗⼝关闭事件的监听⽅法。
分享给⼤家供⼤家参考,具体如下:⽅式⼀:(适⽤于IE浏览器,⽽且刷新不提⽰,只在点击浏览器关闭按钮的时候提⽰)<script type="text/javascript">window.onbeforeunload=onclose;function onclose(){if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey){return "您要离开吗?";}}</script>⽅式⼆:适⽤于IE和FF,不区分刷新和关闭<script type="text/javascript">window.onbeforeunload = onbeforeunload_handler;window.onunload = onunload_handler;function onbeforeunload_handler(){var warning="确认退出?";return warning;}function onunload_handler(){var warning="谢谢光临";alert(warning);}</script>⽅式三:适⽤于IE和FF,不区分刷新和关闭,最简单的<script type="text/javascript">window.onbeforeunload=onclose;function onclose(){return "您确定退出吗?";}</script>⽅式四:适⽤于IE和FF,不区分刷新和关闭,稍复杂的<script language="javascript">var MSG_UNLOAD="如果你此时离开档案系统,所做操作信息将全部丢失,是否离开?";var UnloadConfirm = {};//启⽤监听浏览器刷新、关闭的⽅法UnloadConfirm.set = function(confirm_msg){window.onbeforeunload = function(event){event = event || window.event;event.returnValue = confirm_msg;}}//关闭监听浏览器刷新、关闭的⽅法UnloadConfirm.clear = function(){window.onbeforeunload = function(){};}UnloadConfirm.set(MSG_UNLOAD);</script>⽅式五:只适⽤于IE6下的关闭按钮和快捷键关闭的,刷新不提⽰<script type="text/javascript">window.onbeforeunload=onclose;function onclose(){var warnning = '<fmt:message key="systemMessage.exitWarning" />';var beforeExit='<fmt:message key="systemMessage.beforeExitWarning" />';if(event.clientY<0 && event.clientX>document.body.clientWidth-20 || event.clientY<0 && event.clientX<20 ||event.altKey || event.ctrlKey || event.clientY>document.body.clientHeight){alert(beforeExit);return warnning;}}</script>另附判断浏览器类型的JS<script type="text/javascript">var Sys = {};var ua = erAgent.toLowerCase();if (window.ActiveXObject)Sys.ie = ua.match(/msie ([\d.]+)/)[1]else if (document.getBoxObjectFor)Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1]else if (window.MessageEvent && !document.getBoxObjectFor)Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1]else if (window.opera)Sys.opera = ua.match(/opera.([\d.]+)/)[1]else if (window.openDatabase)Sys.safari = ua.match(/version\/([\d.]+)/)[1];//以下进⾏测试if(Sys.ie) document.write('IE: '+Sys.ie);if(Sys.firefox) document.write('Firefox: '+Sys.firefox);if(Sys.chrome) document.write('Chrome: '+Sys.chrome);if(Sys.opera) document.write('Opera: '+Sys.opera);if(Sys.safari) document.write('Safari: '+Sys.safari);</script>区分浏览器,IE和FF分别处理(奇怪的是,IE下有时候失效)<script type="text/javascript">window.onbeforeunload=onclose;function onclose(){var Sys = {};var warnning = '<fmt:message key="systemMessage.exitWarning" />';var ua = erAgent.toLowerCase();if (window.ActiveXObject)Sys.ie = ua.match(/msie ([\d.]+)/)[1]else if (document.getBoxObjectFor)Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1]if(Sys.ie) {//for IEif(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey){window.event.returnValue = warnning ;}}if(Sys.firefox) //for FFreturn warnning;}</script>最简单的判断浏览器类型的⽅法<script type="text/javascript">if(-[1,]){alert("这不是IE浏览器!");}else{alert("这是IE浏览器!");}</script>[1,]在标准浏览器会返回字符串"1",相当于调⽤[1,].toString,,IE则返回"1,"。
input在js中的用法
![input在js中的用法](https://img.taocdn.com/s3/m/3df565d26aec0975f46527d3240c844769eaa0ae.png)
input在js中的用法JavaScript中的input元素是一个用于获取用户输入的常用元素。
通过使用input元素,可以收集用户的各种类型的信息,例如文本、数字、日期、密码等。
在JavaScript中,我们可以通过DOM操作来处理input元素的各种事件和行为。
以下是在JavaScript中使用input元素的常用用法。
1. 获取输入值我们可以通过JavaScript的DOM操作来获取input元素的当前值。
可以使用`document.getElementById()`或`document.querySelector()`等方法来获取input元素,然后使用`value`属性来获取输入值。
例如:```javascriptvar inputValue = document.getElementById("myInput").value;```这将获取id为"myInput"的input元素的当前值。
2. 监听输入事件我们可以通过监听input元素的事件来处理用户输入。
常用的输入事件包括`input`和`change`。
在`input`事件中,用户每次输入都会触发该事件,而在`change`事件中,只有在用户离开输入字段(即输入结束或值更改)时才会触发。
例如:```javascriptdocument.getElementById("myInput").addEventListener("input", function() {// 处理输入事件的代码});```这将为id为"myInput"的input元素添加一个监听器,当用户输入时,将执行指定的函数。
3. 验证输入值我们可以使用JavaScript来验证input元素的输入值是否符合预期的格式或范围。
例如,我们可以验证用户是否输入了一个有效的电子邮件地址。
input 输入框离开输入框触发函数
![input 输入框离开输入框触发函数](https://img.taocdn.com/s3/m/20456a47df80d4d8d15abe23482fb4daa58d1d0a.png)
input 输入框离开输入框触发函数一、背景介绍在网页开发中,输入框是一个常用的组件,它允许用户输入文本信息。
当用户在输入框中输入文本时,开发者通常会编写一些代码来监听输入框的变化,并在用户离开输入框时触发某些函数。
这种功能可以帮助开发者实现一些常见的交互效果,如焦点变化、表单验证等。
二、实现方法要实现输入框离开输入框触发函数,可以采用以下方法:1. 使用 JavaScript 监听输入框的 input 事件,当用户输入或离开输入框时触发该事件。
2. 在 input 事件的处理函数中,判断用户是否真的离开了输入框。
可以通过监听输入框的失去焦点事件来实现。
3. 在失去焦点事件的处理函数中,执行需要触发的函数操作。
以下是一个简单的示例代码,展示如何实现输入框离开输入框触发函数:HTML 代码:```php<input type="text" id="inputBox" placeholder="请输入内容">```JavaScript 代码:```javascriptdocument.getElementById("inputBox").addEventListener("inp ut", function(event) {// 当用户离开输入框时触发函数if (event.target.id === "inputBox") {document.getElementById("inputBox").addEventListener("blur", function() {// 在这里编写需要触发的函数操作console.log("用户离开了输入框");});}});```三、应用场景输入框离开输入框触发函数可以应用于多种场景,如表单验证、焦点变化等。
js addeventlistener方法
![js addeventlistener方法](https://img.taocdn.com/s3/m/a7414fb3690203d8ce2f0066f5335a8102d266b0.png)
js addeventlistener方法(最新版3篇)目录(篇1)1.事件监听器的概念2.addeventlistener 方法的作用3.addeventlistener 方法的语法4.addeventlistener 方法的参数5.addeventlistener 方法的返回值6.addeventlistener 方法的实例正文(篇1)事件监听器是一种在网页上响应特定事件的编程技术。
在JavaScript 中,我们可以使用 addeventlistener 方法来为指定元素添加事件监听器。
addeventlistener 方法的作用是为指定元素添加一个或多个事件监听器,以便在某个事件发生时执行相应的处理函数。
addeventlistener 方法的语法如下:```element.addeventlistener(eventType, handler, useCapture);```其中,element 表示要添加事件监听器的 HTML 元素;eventType 表示要监听的事件类型,如"click"、"mouseover"等;handler 表示事件发生时要执行的处理函数;useCapture 表示是否在捕获阶段触发事件处理函数,默认为 false。
addeventlistener 方法的返回值是事件监听器本身,以便通过removeEventListener 方法删除该监听器。
下面是一个 addeventlistener 方法的实例:```javascript// 创建一个处理函数,用于在点击按钮时显示提示信息function handleClick() {alert("按钮被点击了!");}// 为页面上的按钮添加一个点击事件监听器document.querySelector("button").addeventlistener("click", handleClick);```在这个例子中,当用户点击按钮时,会弹出一个提示框显示"按钮被点击了!"。
js验证input输入框
![js验证input输入框](https://img.taocdn.com/s3/m/a2f486f105a1b0717fd5360cba1aa81144318f79.png)
js验证input输⼊框<h1>js验证输⼊框内容</h1><br /><br />只能输⼊英⽂<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')"><br /><br />只能输⼊英⽂<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')"onkeydown="fncKeyStop(event)" onpaste="return false"oncontextmenu="return false" />⽆法粘贴,右键不会弹出粘贴菜单<br /><br />只能输⼊数字:<input onkeyup="this.value=this.value.replace(/\D/g,'')"onafterpaste="this.value=this.value.replace(/\D/g,'')"><br /><br />只能输⼊数字,⼩数点:<input name="price" type="text"onkeyup="value=value.replace(/[^\d\.]/g,'')"><br /><br />只能输⼊数字,⼩数点,下划线:<input name="price" type="text"onkeyup="value=value.replace(/[^\d\._]/g,'')"><br /><br />只能输⼊英⽂和数字:<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"><br /><br />只能输⼊汉字:<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"><br /><br />禁⽌输⼊法输⼊:<input type="text" style="ime-mode: disabled">⽆法切换输⼊法<br /><br />只能输⼊中⽂、英⽂、数字、@符号和.符号:<input type="text"onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">只能输⼊中⽂、英⽂、数字、?符号和.符号,。
vue.js项目el-input组件监听回车键实现搜索功能示例
![vue.js项目el-input组件监听回车键实现搜索功能示例](https://img.taocdn.com/s3/m/aab75dcbac51f01dc281e53a580216fc700a53b2.png)
vue.js项⽬el-input组件监听回车键实现搜索功能⽰例基于element-ui 组件开发的vue.js项⽬,实现回车键发起搜索,和原⽣的input 标签使⽤⽅法不⼀样:el-input 监听键盘按下状态得⽤@keyup.enter.native,如果是⾮el-input 组件,可以直接⽤@keyup.enter<el-input placeholder="搜索" icon="search" v-model="input" :on-icon-click="pchandleIconClick" @keyup.enter.native="searchEnterFun"> </el-input><input placeholder="搜索" type="text" @keyup.enter="searchEnterFun">在methods⽅法集⾥,写上监听的⽅法,当获取的keyCode 为13时,表⽰按下了回车键,如果需要监听空格或者其他键,换成别的键值searchEnterFun:function(e){var keyCode = window.event? e.keyCode:e.which;// console.log('回车搜索',keyCode,e);if(keyCode == 13 && this.input){this.$router.push({path:'/Share?keywords='+this.input});}}which 和 keyCode 属性提供了解决浏览器的兼容性的⽅法。
keyCode属性返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码注意:在 Firefox 中,keyCode 属性在 onkeypress 事件中是⽆效的 (返回 0)。
jQuery原生JS实时监听input输入框值变化
![jQuery原生JS实时监听input输入框值变化](https://img.taocdn.com/s3/m/05c15a6c26284b73f242336c1eb91a37f11132a8.png)
jQuery原⽣JS实时监听input输⼊框值变化input事件:onchange:1、要在 input 失去焦点的时候才会触发;2、在输⼊框内容变化的时候不会触发change,当⿏标在其他地⽅点⼀下才会触发;3、onchange event 所有主要浏览器都⽀持;4、onchange 属性可以使⽤于:<input>, <select>, 和 <textarea>。
<script>function change(){var x=document.getElementById("password");x.value=x.value.toUpperCase(); console.log("出发了")}</script></head><body>输⼊你的密码: <input type="text" id="password" onchange="change()"></body>oninput:1、在⽤户输⼊时触发,它是在元素值发⽣变化时⽴即触发;2、该事件在 <input> 或 <textarea> 元素的值发⽣改变时触发。
3、缺陷:从脚本中修改值不会触发事件。
从浏览器下拉提⽰框⾥选取值时不会触发。
IE9 以下不⽀持,所以IE9以下可⽤onpropertychange 事件代替。
JS: <input type="text" id="password" oninput="change()">jQuery: $("#password").on('input propertychange', change);onpropertychange:1、会实时触发,会在元素的属性改变时就触发事件。
js中addeventlistener用法
![js中addeventlistener用法](https://img.taocdn.com/s3/m/3457dec470fe910ef12d2af90242a8956becaad7.png)
js中addeventlistener用法==================一、简介----addEventListener是JavaScript中用于为HTML元素添加事件监听器的一种方法。
它允许您在特定的事件发生时执行某些操作。
这些事件包括鼠标点击、键盘输入、页面加载等。
二、语法----```javascriptelement.addEventListener(event,handler);```其中,`element`是要添加事件监听器的HTML元素,`event`是要监听的事件类型,`handler`是与事件关联的处理函数。
三、常用事件类型--------*`click`:元素被点击时的处理函数。
*`dblclick`:元素被双击时的处理函数。
*`mouseover`:鼠标指针移动到元素上时的处理函数。
*`mouseout`:鼠标指针从元素移开时的处理函数。
*`keydown`:键盘按键被按下时的处理函数。
*`keyup`:键盘按键被释放时的处理函数。
*`load`:页面或资源加载完成时的处理函数。
*`unload`:页面或资源卸载时的处理函数。
四、处理函数的定义----------处理函数是一个普通的JavaScript函数,它接受两个参数:事件对象和目标元素。
在处理函数中,您可以使用这些信息来执行所需的操作。
五、示例代码-------以下是一个使用addEventListener的简单示例,当用户点击按钮时,将弹出一个提示框:```javascript//获取按钮元素varbutton=document.getElementById("myButton");//定义处理函数,当按钮被点击时弹出提示框functionhandleClick(event){alert("按钮被点击了!");}//添加事件监听器到按钮上button.addEventListener("click",handleClick);```六、注意事项------1.当同时使用多个事件监听器时,如果某个事件类型已经注册了处理函数,那么当该事件发生时,不会再次调用处理函数,而是直接触发其他事件处理函数。
web中input的用法
![web中input的用法](https://img.taocdn.com/s3/m/8d63b7725b8102d276a20029bd64783e09127d17.png)
web中input的用法一、input标签的基本概念与常用属性在Web开发中,表单是至关重要的组件之一,而<input>标签就是构建表单的基础元素。
它通常被用于接收用户的输入数据,并将这些数据提交到服务器进行处理。
本文将介绍<input>标签的基本用法及常用属性。
1.1 基本用法<input>标签可以创建各种类型的输入字段,如文本框、密码框、复选框、单选按钮等。
使用时,只需在HTML代码中添加<input>标签,并设置相应的属性即可。
1.2 常用属性1.2.1 typetype属性指定了<input>标签所创建的输入字段的类型。
常见的type取值包括:- text:创建一个文本输入框;- password:创建一个密码输入框,字符以星号或圆点显示;- checkbox:创建一个复选框;- radio:创建一个单选按钮;- file:创建一个文件上传字段。
1.2.2 name和valuename属性定义了<input>标签对应数据项的名称,在提交表单时会作为键值对发送给服务器。
value属性定义了输入字段默认显示的值。
1.2.3 placeholderplaceholder属性设置了在用户未输入任何内容时,在输入字段中显示的提示信息。
这对于提供给用户一些对所需数据格式或示例有所帮助的文本非常有用。
二、input不同类型及其特性2.1 文本输入框文本输入框(<input type="text">)是最常见的表单元素之一。
它经常用于接收用户的姓名、邮箱、电话号码等文本信息。
2.1.1 属性说明- required:该属性指定了用户在提交表单前必须填写文本框中内容,否则会提示错误信息。
- maxlength:通过设置maxlength属性,可以限制用户输入的最大字符数。
- pattern:使用正则表达式作为pattern属性的值,可以对输入内容进行格式验证。
JS改变input的value值不触发onchange事件解决方案(转)
![JS改变input的value值不触发onchange事件解决方案(转)](https://img.taocdn.com/s3/m/4ae15b97ed3a87c24028915f804d2b160b4e86ae.png)
JS改变input的value值不触发onchange事件解决⽅案(转)⽅法(⼀)(转载的⽹络资料)需要了解的知识⾸先,我们需要了解onchange和onpropertychange的不同:IE下,当⼀个HTML元素的属性改变的时候,都能通过 onpropertychange来即时捕获。
onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件。
onpropertychange 是IE浏览器的专属⽅法了解这⼀点后我们发现onpropertychange的效果就是我们想要的,可是很遗憾,它只在IE下有效果。
我们能不能找到另外⼀个时间来代替onpropertychange呢?经过翻阅资料得知,在其他浏览器下可以使⽤oninput事件来达到同样的效果,真是太好了,我们只需要把IE浏览器区分出来就可以。
oninput的使⽤下⾯我们先了解⼀下oninput如何使⽤。
如果您是将注册时间直接写在页⾯⾥⾯,那么如下写法就可以实现<input type="text" name="textfield" oninput="alert(this.value);" onpropertychange="alert(this.value)" />但是,将oninput写在JS代码中分离出来时与普通事件注册的⽅法有些不同,必须使⽤addEventListener来注册。
ttachEvent和addEventListener 的不同说到这⾥我们再来了解⼀下 attachEvent和addEventListener 的使⽤⽅法:attachEvent⽅法,为某⼀事件附加其它的处理事件。
(不⽀持Mozilla系列)addEventListener⽅法⽤于 Mozilla系列document.getElementById("btn").onclick = method1;document.getElementById("btn").onclick = method2;document.getElementById("btn").onclick = method3;如果这样写,那么将会只有medhot3被执⾏var btn1Obj = document.getElementById("btn1");btn1Obj.attachEvent("onclick",method1);btn1Obj.attachEvent("onclick",method2);btn1Obj.attachEvent("onclick",method3);执⾏顺序为method3->method2->method1如果是Mozilla系列,并不⽀持该⽅法,需要⽤到addEventListenervar btn1Obj = document.getElementById("btn1");btn1Obj.addEventListener("click",method1,false);btn1Obj.addEventListener("click",method2,false);btn1Obj.addEventListener("click",method3,false);执⾏顺序为method1->method2->method3了解了如何使⽤addEventListener来注册oninput事件后我们再回到要解决的问题[划分浏览器]。
js限制文本框输入长度两种限制方式(长度、字节数)
![js限制文本框输入长度两种限制方式(长度、字节数)](https://img.taocdn.com/s3/m/3f31e67c59fafab069dc5022aaea998fcc224010.png)
js限制⽂本框输⼊长度两种限制⽅式(长度、字节数):1.实时显⽰可输⼊的字数(字节数)2.两种限制⽅式(长度、字节数)3.中⽂输⼊法下可正常使⽤,⽆BUG4.同⼀页⾯可以使⽤多个,相互不⼲扰复制代码代码如下:function limit(){var txtNote;//⽂本框var txtLimit;//提⽰字数的inputvar limitCount;//限制的字数var isbyte;//是否使⽤字节长度限制(1汉字=2字符)var txtlength;//到达限制时,字符串的长度var txtByte;this.init=function(){txtNote=this.txtNote;txtLimit=this.txtLimit;limitCount=this.limitCount;isbyte=this.isbyte;txtNote.onkeydown=function(){wordsLimit()};txtNote.onkeyup=function(){wordsLimit()};txtLimit.value=limitCount;}function wordsLimit(){var noteCount=0;if(isbyte){noteCount=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length}else{noteCount=txtNote.value.length}if(noteCount>limitCount){if(isbyte){txtNote.value=txtNote.value.substring(0,txtlength+Math.floor((limitCount-txtByte)/2));txtByte=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length;txtLimit.value=limitCount-txtByte;}else{txtNote.value=txtNote.value.substring(0,limitCount);txtLimit.value=0;}}else{txtLimit.value=limitCount-noteCount;}txtlength=txtNote.value.length;//记录每次输⼊后的长度txtByte=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length;}}页⾯调⽤:复制代码代码如下:<html><body><input id="txtNote" />还可输⼊<input type="text" id="txtCount" />个字符</body><mce:script type="text/javascript"><!--var lim=new limit();lim.txtNote=document.getElementById("txtNote");lim.txtLimit=document.getElementById("txtCount");lim.limitCount=20;lim.isbyte=true;lim.init();// --></mce:script></html>⽂本框限制字符长度复制代码代码如下:<INPUT onkeydown=if(event.keyCode==13)event.keyCode=9 onkeyup="value=value.replace(/[^0-9- ]/g,'');" maxLength=11 >上⾯这样写只能限制输⼊的⼀定是数字和最⼤长度为11个字符如何限制⼀定要输⼊11位不能少也不能多------解决⽅案--------------------------------------------------------你确定上⾯的写法对吗。
Javascript(JS)键盘事件监听
![Javascript(JS)键盘事件监听](https://img.taocdn.com/s3/m/9a6e290652ea551810a6877d.png)
js键盘事件全面控制详解js键盘事件全面控制主要分四个部分第一部分:浏览器的按键事件第二部分:兼容浏览器第三部分:代码实现和优化第四部分:总结第一部分:浏览器的按键事件用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、onkeypress和onkeyup这三个事件句柄。
一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键释放时候的keyup。
在这3种事件类型中,keydown和keyup比较底层,而keypress比较高级。
这里所谓的高级是指,当用户按下shift + 1时,keypress是对这个按键事件进行解析后返回一个可打印的“!”字符,而keydown和keyup只是记录了shift + 1这个事件。
[1]但是keypress只能针对一些可以打印出来的字符有效,而对于功能按键,如F1-F12、Backspace、Enter、Escape、PageUP、PageDown和箭头方向等,就不会产生keypress事件,但是可以产生keydown和keyup事件。
然而在FireFox中,功能按键是可以产生keypress事件的。
传递给keydown、keypress和keyup事件句柄的事件对象有一些通用的属性。
如果Alt、Ctrl 或Shift和一个按键一起按下,这通过事件的altKey、ctrlKey和shiftKey属性表示,这些属性在FireFox和IE中是通用的。
第二部分:兼容浏览器凡是涉及浏览器的js,就都要考虑浏览器兼容的问题。
目前常用的浏览器主要有基于IE和基于Mozilla两大类。
Maxthon是基于IE内核的,而FireFox 和Opera是基于Mozilla内核的。
2.1 事件的初始化首先需要了解的是如何初始化该事件,基本语句如下:function keyDown(){}document.onkeydown = keyDown;当浏览器读到这个语句时,无论按下键盘上的哪个键,都将呼叫KeyDown()函数。
JS通过正则限制input输入框只能输入整数、小数(金额或者现金)两位小数
![JS通过正则限制input输入框只能输入整数、小数(金额或者现金)两位小数](https://img.taocdn.com/s3/m/4aada634492fb4daa58da0116c175f0e7dd1195f.png)
JS通过正则限制input 输入框只能输入整数、小数(金额或者现金) 两位小数这篇文章主要介绍了JS通过正则限制input 输入框只能输入整数、小数(金额或者现金) 两位小数的相关资料,需要的朋友可以参考下第一:限制只能是整数如果不是整数就直接alert第二:限制是两位的小数原理:通过正则表达式判断,不满足执行alert。
第一个正则表达式是/^d+$/ 表示可以是一个或者多个数字第二个正则表达式是表示必须是数字开头,数字结尾。
这里重点是要数字结尾,在计算机中通常小数1. , 2. 这种写法,就是可是小数点结尾的,是正确的。
这里强制让数字结尾。
test()只要找到满足的部分就返回真。
意思是是所以要保证谁开头谁结尾。
开头用$, 结尾用^下面给大家介绍js正则限制input框输入的常用代码1.只能输入数字和英文的:2.只能输入数字的:3.只能输入全角的:4.只能输入汉字的:5.邮件地址验证:6.身份证:1.取消按钮按下时的虚线框在input 里添加属性值hideFocus 或者 HideFocus=true2.只读文本框内容在input 里添加属性值 readonly3.防止退后清空的TEXT 文档(可把style 内容做做为类引用)4.ENTER 键可以让光标移到下一个输入框5.只能为中文(有闪动)6.只能为数字(有闪动)7.只能为数字(无闪动)(有闪动)8.只能输入英文和数字10. 只能输入数字,小数点,减号(-)字符(无闪动)11. 只能输入两位小数,三位小数(有闪动)。
vue oninput 函数
![vue oninput 函数](https://img.taocdn.com/s3/m/d8ae357c777f5acfa1c7aa00b52acfc789eb9fba.png)
vue oninput 函数
Vue的oninput函数是用于监听输入框输入事件的方法。
当用户在输入框中输入内容时,该函数会触发并执行相应的操作。
在 Vue 中,我们可以通过以下方式来监听输入框的输入事件: 1. 使用 v-on 指令绑定 oninput 事件:
```
<input v-on:input='onInputHandler'>
```
2. 在 methods 中定义 onInputHandler 方法:
```
methods: {
onInputHandler(event) {
console.log(event.target.value);
}
}
```
在上述代码中,我们使用 v-on 指令将输入框的 oninput 事件绑定到 onInputHandler 方法上。
当用户在输入框中输入内容时,该方法会被触发,并将输入框的值作为参数传入。
在实际开发中,我们可以根据不同的业务需求对输入框的输入事件进行相应的处理,例如实时校验输入内容、搜索关键词匹配等。
通过 Vue 的 oninput 函数,我们可以轻松地监听输入事件并进行相应
的操作,提高应用的交互性和用户体验。
js监听input输入框值的实时变化实例
![js监听input输入框值的实时变化实例](https://img.taocdn.com/s3/m/be95e2ce0d22590102020740be1e650e52eacff3.png)
js监听input输⼊框值的实时变化实例情景:监听input输⼊框值的实时变化实例解决⽅法:1.在元素上同时绑定oninput和onporpertychanger事件实例:<script type="text/JavaScript"> function watch(){ consolo.log("in")}</script><input type="text" oninput="watch(event)"onporpertychange="watch(event)"/>2.原⽣js<script type="text/javascript">$(function(){ if("\v"=="v"){//true为IE浏览器,感兴趣的同学可以去搜下,据说是现有最流⾏的判断浏览器的⽅法 document.getElementById("a").attachEvent("onporpertychange",function(e){ console.log("inputting!!"); } }else{ document.getElementById("a").addEventListener("onporpertychange",function(e){ console.log("inputting!!"); } }});</script><input type="text"id="a"/>3.使⽤jQuery绑定事件<script type="text/javascript">$(function(){ $("#a").bind('input porpertychange',function(){ console.log("e"); }); });</script><input type="text"id="a"/>。