当输入值为null时引发onkeypress元素
raising onkeypress element when input value is null
我正在开发一个具有用户键入和用户擦除功能的聊天应用程序,但当文本区聊天输入为空时(当用户擦除他键入的所有内容时),我很难调用函数
var msg=$("#chat_input").val();
if ((e.which== 8 || e.keyCode == 8) && (msg.trim() == "" || msg.length <= 1)) {
// call the function
}
当用户键入一个字母然后将其擦除时,不会调用该函数,并且该if
语句为false我如何修复这个
后退最后一个字符或只有新行或空格意味着this.value
将返回false
$('#chat_input').keyup(function(e){
if (e.which == 8 && this.value == false) {
}
});
jsFiddle演示
如果只是一个空格、换行符等,那么value
就是false
,所以您不需要trim()
( msg.length <= 1 ) // = true when second to last or last
您可以通过使用隐式真/假检查来简化这一过程
var msg=$("#chat_input").val();
if (e.which== 8 && (!msg || !msg.trim())) {
// call the function
}
如果msg
未定义或为null,则!msg
将返回true;如果msg.trim()
为空字符串,则!msg.trim()
将返回true。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 如何在 OnKeyPress 事件后获取输入表单元素的值
- 当输入值为null时引发onkeypress元素
- Javascript不能正确地计算onKeyPress元素的长度