`
蔡华江
  • 浏览: 107634 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript监听textarea中按键

阅读更多

    不同的浏览器中的事件监听机制是不同的,以onKeyPress事件为例。

有个textarea,

<textarea id="text"></textarea>

    经常会定义onKeyPress="keypress();",并定义以下方法。

var keypress = function(){
    var k = window.event.keyCode;
}

    实际上这类代码在firefox下无效。

那么修改为如下方式:

    onKeyPress="keypress(event);"

var keypress = function(event){
    var k = event.keyCode;
}

    还是有问题,按下k后,在IE中取值为107,FF下取值则为0。

    将keyCode改为charCode试试。

var k = event.charCode;

    IE下取值为undefined,FF下取值为107了

    或许可以做判断

if(是IE)
    var k = event.keyCode;
else if(是FF)
    var k = event.charCode;

 

    不过,如果有组合键的话,这种方法也不行了。

    当按下Ctrl+k时,

    在IE中,keyCode为11,charCode为undefined

    在FF中,keyCode为0,charCode为107

 

    这里我使用的办法是JQuery。

    $("#text").bind("keyPress",function(event){
         var k = event.which;
    });

     这里使用的which就不论在IE下还是FF中,是单一按键还是组合键了,其值都是是107

    然后使用String.fromCharCode(k),就可以取出按下的值了。

分享到:
评论
2 楼 playfish 2009-09-27  
你没搞清楚ff跟ie事件的差别。

var keypress = function(){
    var k = window.event.keyCode;
}

改成

var keypress = function(e){
    var e = e || window.event;
    var k = e.keyCode;
}
1 楼 youjianbo_han_87 2009-09-27  
去看看Jquery是怎么判断的呀,看看它的代码

相关推荐

    JavaScript 监听textarea中按键事件

    有个textarea, Java代码 代码如下: &lt;textarea id=”text”&gt;&lt;/textarea&gt; 经常会定义onKeyPress=”keypress();”,并定义以下方法。 代码如下: var keypress = ... 这里使用的which就不论在IE下还是FF中,是

    js监听鼠标事件控制textarea输入字符串的个数.docx

    总之,通过JavaScript的事件监听机制,我们可以精确控制用户在`textarea`中的输入,不仅可以限制字符数,还能实现各种复杂的交互功能。理解并熟练应用这些事件,对于提升网页的用户体验至关重要。

    JavaScript让Textarea支持tab按键的方法

    本文将详细介绍如何使用JavaScript来实现让Text Area支持Tab按键的功能,具体包括以下内容: 首先,需要了解的是HTMLTextAreaElement,这是HTML文本区域元素对应的JavaScript对象。它允许我们通过编程方式控制文本...

    javascript实现textarea中tab键的缩排处理方法

    为了在textarea中实现这一功能,我们可以监听键盘事件,并在用户按下`Tab`键时插入特定数量的空格(通常为四个空格)来模拟缩进效果。 代码如下: ```javascript function editTab() { var code, sel, tmp, r; ...

    textarea文本框删除当前行内容的功能

    在JavaScript中,我们可以使用`document.getElementById`或`document.querySelector`来选取特定的`textarea`元素。例如,假设我们的`textarea` ID为`myTextarea`,可以这样选取: ```javascript var textarea = ...

    textarea输入限制方法

    3. **JavaScript事件处理**:通过JavaScript可以监听并处理各种事件,如用户输入时触发的`onkeypress`事件、失去焦点时触发的`onblur`事件等。 #### 二、实现方法详解 ##### 1. 使用`maxlength`属性 最简单的方法...

    js监听鼠标事件控制textarea输入字符串的个数

    以上知识点详细解释了如何使用JavaScript监听鼠标事件来控制textarea输入框中的字符数,并提供了实现该功能的具体代码示例和逻辑说明。这些知识点不仅涉及了前端开发的基本概念,还展示了如何通过编程实现具体的用户...

    JavaScript 事件的一些重要说明

    在示例中,`onkeypress`事件被用来监听textarea的按键行为。在不同浏览器中,事件对象的获取方式有所不同:IE使用全局的`window.event`,而其他浏览器则通过事件处理函数的参数传递。这段代码演示了如何禁用textarea...

    JQuery实现textarea可以有字数录入提醒功能

    为了实时检测用户在`textarea`中的输入,需要监听键盘事件。JQuery提供了`.keydown()`和`.keyup()`方法,分别用于捕获键盘按键按下和释放的事件。 ```javascript $("#address").keydown(function() { // 键盘按键...

    javascript经典例子.txt

    - 实现方法:使用JavaScript监听用户的输入事件,根据输入内容过滤下拉列表中的选项。 - **2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送)** - 描述:限制多行文本框中...

    基于JS实现textarea中获取动态剩余字数的方法

    1. 监听textarea的输入事件。 2. 获取当前textarea的值及其最大长度限制。 3. 计算并显示当前已输入的字符数与最大字符数之间的差值。 4. 当输入的字符数达到最大限制时,阻止进一步输入,并显示相应的提示信息。 #...

    JS简单限制textarea内输入字符数量的方法

    这种方法利用了JavaScript的事件监听机制,响应用户在textarea中的输入行为,根据设定的字符限制条件动态地对用户输入进行处理。 知识点一:JavaScript事件监听机制 JavaScript事件监听是Web开发中的一个重要概念,...

    javascript处理表单大全

    通过监听键盘按键事件(`onkeydown`),判断键值是否为英文字母键(ASCII码范围65-90)。 **4. 限制只能输入数字** 此段代码确保用户输入的字符仅限于数字。 ```javascript function onlyNum() { if (!((event....

    javascript实现软键盘输入,兼容多种浏览器,测试通过

    1. **事件监听**:首先,我们需要监听用户的交互事件,如点击文本框(`&lt;input&gt;` 或 `&lt;textarea&gt;`)时触发软键盘的显示。可以使用`addEventListener`方法添加事件监听器,例如`addEventListener('focus', ...

    Dynamic-Text-.rar_javascript

    然后,我们可以在JavaScript中获取这个元素并添加事件监听器,以实现动态效果。例如,可以监听`keyup`事件,每当用户释放一个按键时,执行相应的函数: ```javascript document.getElementById('dynamicTextBox')....

    Javascript接收键盘输入

    JavaScript是一种广泛应用于网页开发中的脚本语言,它能够实现动态交互效果,提升用户体验。其中,接收键盘输入是实现用户与网页交互的关键环节之一。 ### JavaScript接收键盘输入的方式 #### 1. `prompt()`函数 ...

    基于jquery的textarea发布框限制文字字数输入(添加中文识别)

    在本例中,`textarea`元素使用了`onkeyup`属性来绑定一个自定义的`strLenCalc`函数,此函数会在每次用户键盘按键抬起时执行。`strLenCalc`函数接收三个参数,分别是操作的textarea对象、用于显示剩余字数的元素的ID...

    JS控制文本框textarea输入字数限制的方法

    从以上描述中,可以看出实现textarea文本域字数限制的方法是基于JavaScript对事件的监听,以及对DOM元素的动态操作。通过合理使用HTML事件属性,可以实现对用户输入的即时反馈和控制。 另外,需要注意的是,虽然此...

    javaScript边打字边显示剩余字数

    在给定代码片段中,我们看到`&lt;textarea&gt;`元素上绑定了两个JavaScript事件监听器——`onkeyup`和`onkeydown`。`onkeyup`事件在用户释放键盘上的某个按键后触发,而`onkeydown`则在按下按键时触发。通过这两种事件,...

Global site tag (gtag.js) - Google Analytics