在做博客项目的评论区功能时,想实现输入框(如
input
、
textArea
)内容为空时,按
backspace
键后清除
placeholder
和
父级评论id
,需要使用按键监听事件。
一开始我绑定了jQuery的
keyup
事件,js代码如下:
$("#commentContent").keyup(function (e) {
var contentVal = $("[name='commentContent']").val();
if((contentVal===null || contentVal==="") && e.keyCode === 8){
console.log("111");
$("[name='commentParentId']").val("");
$("[name='commentContent']").attr("placeholder","");
});
通过控制台打印日志发现,如果输入了一些字符,当删除最后一个字符时,条件判断语句的内容被执行。如果是这样的话,那点击回复
并输入一些内容后,如果想删除内容再重新编写,那又得再点击一次回复
来设置要回复的对象。
通过尝试后发现,将keyup
替换为keydown
事件可以实现:文本框为空时,按backspace
键后执行相应代码:
由此可以推测,在按键按下后,输入框发生变化,然后按键抬起。这样就解释的通了:
使用keyup
事件时,监听的输入框内容是已经变化的了,如果这时输入框内容为空,keyup
监听生效,便会进入我的条件判断语句中;
使用keydown
事件时,按键按下时就开始监听了,如果这时输入框不为空,则条件语句不会进入。当keydown
监听语句执行结束
后,输入框才发生变化
。

$("#commentContent").keydown(function (e) {
var contentVal = $("[name='commentContent']").val();
if((contentVal===null || contentVal==="") && e.keyCode === 8){
$("[name='commentParentId']").val("");
$("[name='commentContent']").attr("placeholder","");
});
在做博客项目的评论区功能时,想实现输入框(如input、textArea)内容为空时,按backspace键后清除placeholder和父级评论id,需要使用按键监听事件。一开始我绑定了jQuery的keyup事件,js代码如下://文本框为空时,判断是否按了backspace,若是,则清除placeholder和父级评论id$("#commentContent").keyup(function (e) { var contentVal = $("[name='commentContent'
HTML部分:
<div class="layout__panel layout__panel--articletitle-bar" style="width: 100%; height: 56px; overflow:!important visible; ">
<div class="art...
参考:js控制键盘只能输入数字和退格键,delete键【知道:window.event.keyCode获取键盘值】、用JS屏蔽backspace(退格删除)键或某一个指定键的完美代码【知道:在input里属性使用onkeydown】
PS:delete键:删除“光标”之后的文本;backspace键:删除“光标”之前的文本,称“退格删除键”;enter键:一是确认输入的执行命令,二是在文字处...
v-model="listQuery.orderId" 数据绑定
placeholder="orderId" 当输入框内容为空时的占位符
style="width: 200px;" 输入框宽度
class="filter-item" class名称
@keyup.enter.native="handleFilter" 当按下回车时触发事件调用方法
@keyup.native="handleFilter" 当按钮回弹时触发的方法
平时我们写一个小的控制台程序,如果从控制台读取数据的话,输错了是不支持回退的。很多我们使用的软件都是支持的,
在github上找了一个C版本的readline,简单封装了一下,供自己平时写小程序使用。
github地址:https://github.com/troglobit/editline
封装后代码如下:
#ifndef HANDLE_MODE_CONSOLE_MODE_H_
#define HANDLE_MODE_CONSOLE_MODE_H_
#include <std.
<input type="text" id="Keyword" />
document.onkeydown = function (event) {
var Keyword= $('#Keyword').val();
if (event.key == "Backspace" && Keyword.charAt(Keyword.length - 1) == "]") {
var name = Key.
先说一下需求:如图所示,在文本框中输入关键字,点击“筛选”查询信息,并在GridView显示,然后按Delete键或者Backspace键,删除文本框中的信息,判断当文本框中的信息被完全删除时,执行事件查询所有的信息。
尝试一 :我先使用的TextChanged,但是在TextChanged事件中获取不到键盘(如果谁能在TextChanged事件中获取到键盘请给我留言...
今天在IE浏览器下发现,当把使用readonly=”readonly”属性将
文本框设置成只读
时有一个奇怪的问题:如果光标进入只读
文本框,然后按下Back
space键,就会跳转到上一个页面,效果就像点击了浏览器的后退按钮返回前一个页面一样,而在火狐和google下没有这样的问题出现,为了解决这个问题,写了一个如下的处理方法,如果
文本框是只读的,那么就禁用Back
space键。
代码如下:
纵观机房收费系统,判断文本框、组合框为空问题无非两种情况。第一种:判断窗体中所有文本框、组合框是否为空。第二种:判断一部分文本框、组合框是否为空。下面看看是如何实现这两种情况的。
第一种:判断窗体中所有文本框、组合框是否为空。
''' <summary>
''' 判断窗体中所有文本框、组合框输入内容是否为空,若窗体中有允许为空的文本框或组合框,
''...
在ie下,如果存在有button标签,如果在textbox里面
输入内容,按下enter键,则会触发第一个按钮的click
事件,经过测试,在IE10以及以下的都存在这个问题
浏览器默认行为不一致导致
IE浏览器IE8及以后的版本,会根据页面使用的文档模式(Defining document compatibility)来定义按钮的兼容性问题。IE8标准模式的默认行为是submit,其他模...
//处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外
function banBackSpace(e) {
var ev = e || window.event;//获取event对象
var obj = ev.target || ev.srcElement;//获取...
工作中遇到在浏览器空白处,或者不可编辑的input框上,点击【Backspace】按键,出现浏览器页面回退的问题,经过测试,发现谷歌浏览器默认屏蔽了这个回退的功能,但IE、360浏览器、火狐浏览器都没有,这个功能会导致,特别是后台系统,session丢失,退回到登录页面,严重影响用户体验。
比如,用户在进行表单的信息填写,不经意在浏览器空白处点击了【Backspace】按键,退到了登录