Javascript/YUI 字符计数器减一

标签 javascript yui charactercount

我已经检查了代码好几次了,但不明白为什么第一次击键似乎不算数。

当文本区域为空字符串时,计数器显示应该准确读取。不过好像textarea需要清空两次......

http://jsfiddle.net/ndreckshage/zVQZR/

最佳答案

尝试听 keyup而是事件。

keypress当实际字符插入到文本区域时会触发该事件。当您读取文本区域的值时 - message.get('value')keypress 之前的旧值事件被返回。这解释了为什么计数器显示过时(不准确)的剩余字符数。

更多关于keydown , keypress ,和keyup事件:http://www.quirksmode.org/dom/events/keys.html

<小时/>

更新:

有更好的方法来检测 <input> 的更改和<textarea> .

YUI event-valuechange模块提供了 valuechange event当用户通过以下方式更改输入值时触发:

  • 输入一个简单的字符
  • 输入多笔画字符
  • 使用输入法编辑器
  • 使用 Ctrl+X 或 Cmd+V 剪切或粘贴值
  • 使用键盘调用的上下文菜单进行剪切或粘贴;或
  • 从右键单击上下文菜单中剪切或粘贴。

以下是如何在 ID 为 message 的输入上使用它:

YUI().use('event-valuechange', function (Y) {
    Y.one('#message').on('valueChange', function (e) {
        // The value has changed! Handle it here...
    });
});

现场演示:http://jsfiddle.net/Pd9X9/

关于Javascript/YUI 字符计数器减一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809415/

相关文章:

javascript - 使用 onBlur 触发器时如何清除模糊验证错误?

javascript - 测试 Vue 组件方法

javascript - 从 javascript 中的方法传递数据

javascript - YUI3依赖管理

javascript - YUI 数据表数据源是否适用于所有有效的 JSON 对象?

javascript - Mootools 和 YUI 轮播问题

javascript - react route 的大写情况

regex - 如何计算 Perl 中的字符数?

javascript - jquery 使用字符计数器插件进行验证

javascript - 单击按钮重置角色倒计时