1,有哪些方法可在javascript中接受用户自己输入的字符串?
2.按下键盘上的键的时候,用对话框显示按下的字符,包括Alt,shift,ctrl,还有同时按下的情况?
响应文本框的onKeyDown事件:if(window.event.keyCode == 13){window.event.keyCode = 9;}
通过keycode来判断按下的键:
keyCode如下:
ascii码说明:
8:退格键
46:delete
37-40: 方向键
48-57:小键盘区的数字
96-105:主键盘区的数字
110、190:小键盘区和主键盘区的小数点
189、109:小键盘区和主键盘区的负号
13:回车
9: Tab 就是那个把焦点移到下一个文本框的东东。
2. onkeydown="alert(event.keyCode)"
接收是指?不使用控件?
监听键盘事件代码就可以了
1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head> 3 <title></title> 4 <script type="text/javascript"> 5 //问题一 6 function setValue(o) { 7 document.getElementById("text2").innerText = o.value; 8 } 9 //alt ctrl shift键盘按下捕捉(问题二) 10 function test1() { 11 if (window.event.altKey) { 12 alert('alt键按下') 13 } else if (window.event.ctrlKey) { 14 alert('ctrl键按下') 15 } else if (window.event.shiftKey) { 16 alert('shift键盘按下') 17 } else { 18 alert('普通') 19 } 20 } 21 22 //alt ctrl shift同时按下(问题二) 23 function test2() { 24 if (window.event.altKey && window.event.ctrlKey && window.event.shiftKey) { 25 alert('alt+ctrl+shift同时按下') 26 } 27 } 28 </script> 29 </head> 30 <body> 31 输入<input type="text" id="text1" onkeyup="setValue(this)"/> 32 获取<input type="text" id="text2" /> 33 <input type="button" onclick="test1()" value="alt ctrl shift 按下" /> 34 <input type="button" onclick="test2()" value="alt ctrl shift 同时按下" /> 35 </body> 36 </html>
键盘的太傻了
因为用户可能用鼠标右键点粘贴, 让内容改变。
这个不触发key的任何事件。
现在比较流行的做法是:
1 挂oninput事件。 这个应该是被非IE浏览器都支持的。
2 挂onpropertychange事件。 这个是IE支持的。
例如:
if (Object.prototype.hasOwnProperty.call(this, 'onpropertychange')) { $(this).bind('propertychange', function (event) { if (event.originalEvent.propertyName === 'value') { // bind data here for IE browser } }); } else { $(this).bind('input', function () { // bind data here for non-IE browser }) }
当然了这只是示例。 不代表完善的代码。