如何onkeypress事件中得到一个输入文本框的文本

 我来答
盘默M2
2016-02-23 · TA获得超过2.9万个赞
知道大有可为答主
回答量:9723
采纳率:93%
帮助的人:8250万
展开全部
1、保持简单。同时使用onKeyPress()和onKeyUp():<input id="edValue" type="text" onKeyPress="edValueKeyPress()" onKeyUp="edValueKeyPress()">

这需要获得最新的字符串值(后按键)的照顾,也更新,如果按住一个键。 jsFiddle中:
2、输入文本框,onkeypress事件中的值总是更改前的值 这是有意的:这允许事件侦听器取消按键。 如果事件侦听器取消的情况下,该值不会被更新。如果事件没有被取消,该值被更新,但该事件监听器被调用后。 为了得到后场数值已经更新了值 CodeGo.net,一个函数,在接下来的事件循环运行。办法做到这一点是调用setTimeout用的0:$('#field').keyup(function() {
var $field = $(this);
// this is the value before the keypress
var beforeVal = $field.val();
setTimeout(function() {
// this is the value after the keypress
var afterVal = $field.val();
}, 0);
});

试一下: 编辑:浏览器(如不触发退格键的按键事件,改变了按键的代码KEYUP。
3、我通常串连字段的值(即前它的更新),与关键事件相关联的密钥。近期JS所以需要支持在旧的IE浏览器的。 最近的例子JSdocument.querySelector('#test').addEventListener('keypress', function(evt) {
var real_val = this.value + String.fromCharCode(evt.which);
if (evt.which == 8) real_val = real_val.substr(0, real_val.length - 2);
alert(real_val);
}, false);

支持较旧的IE为例//get field
var field = document.getElementById('test');
//bind, somehow
if (window.addEventListener)
field.addEventListener('keypress', keypress_cb, false);
else
field.attachEvent('onkeypress', keypress_cb);
//callback
function keypress_cb(evt) {
evt = evt || window.event;
var code = evt.which || evt.keyCode,
real_val = this.value + String.fromCharCode(code);
if (code == 8) real_val = real_val.substr(0, real_val.length - 2);
}

[编辑-这种做法,在默认情况下,禁用按键的事情,比如后排空间,Ctrl +A。上面的代码的,但会进一步需要修补,以允许后者,以及一些其他的不测事件。看到伊恩・博伊德的下方。]
4、易... 在你的按键事件处理函数,写void ValidateKeyPressHandler(object sender, KeyPressEventArgs e)
{
var tb = sender as TextBox;
var startPos = tb.SelectionStart;
var selLen= tb.SelectionLength;
var afterEditValue = tb.Text.Remove(startPos, selLen)
.Insert(startPos, e.KeyChar.ToString());
// ... more here
}
倩你一瓶老干妈
2016-02-23 · TA获得超过9万个赞
知道小有建树答主
回答量:550
采纳率:0%
帮助的人:225万
展开全部
可以通过 onkeyup来触发 (键盘松开时触发) ; 放个例子: 每次输入就会在控制台输出文本框里的内容
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式