文本框如何判断是JS输入的还是手工输入的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本框如何判断是JS输入的还是手工输入的相关的知识,希望对你有一定的参考价值。

如题:怎么判断

oninput 可以 ,他只接受手工的判断
onpropertyChange 不行 不论是JS设置和的还是手工输入的他都会检测
onchange 更不行,他必须的失去光标,我的光标不能失去

我要的是只能手工输入 JS设置的话,就不检测

补充,如果有人知道还可以补分,不够我在加
虽然你说的不对,但是你很用心,分给你了,前几天想到怎么解决了

我知道 onkeydown 这三个事件,但是这三个事件不能满足的

你看,当我的输入框里面有值的时候,我就去后台进行查询,然后返回给div 显示出来对吧,

问题是,我的输入框的值如果是手动输入的当然要去后台查询,如果是上下键盘选择的,肯定不能去查询,因为如果去查询了,我的div 里面显示出来的结果就不对了,你说对不对?

这就我纠结的地方,所以想问问有没有类似ff 下面的oninput 的、事件,FF下面的这个事件完全能满足。

其实也是我脑际绕进去了,一定非要这样弄才舒服,后来的解决方案就是,判断键盘的codevalue 值,如果是38||40的话,我就不去查询了 这样只不过要多点判断

呵呵,不过你回答的真的很用心,谢了,分我就多给了,你都和我差不多了

手工输入很简单啊,只是你理解的钻牛角尖了

比如:
你可以用 xx.prorerty.onkeyup = function () //判断
或者 onkeydown //判断
这两个事件分别是,当输入前时和当输入完时,这样js不会触发key事件,只有键盘输入会触发

如果说百度的搜索框,他不是文本框的事件激活的查询,而是按钮的事件激活的查询。文本框激活的事件是寻找类似匹配的短语。而且当你选择下拉中的匹配短语时,焦点并没有落在文本框里,所以也不会触发文本框的事件

其实无所谓输入对象是谁,关键是你事件的安排,你再好好想想,你思路不太对
参考技术A 你的意思不大明白,你既然js输入了,还要光标干什么,难道有情况是既要js输入又要手工输入。。那这样不是你还要判断第三种情况 就是既要js输入又有手工输入....
如果你要的结果只是js输入的时候就不允许有手工输入
手工输入的时候就不允许js输入的话
你可以再输入的时候锁定输入框,
js输入的时候输入框设为只读,
手工输入的恢复
参考技术B 你的想法有问题,既然都能用js输入了,那你怎么就不能用js在js输入的时候判断呢???至于人工输入的话,用keyup判断就ok了

如何调用本地js文件为网页文本框输入内容

在本地建立一个js文件,设置右键菜单
在IE11,网页文本框中点击右键菜单,可以把粘贴板文本替换文本框value的值
比如百度页面,鼠标弹起,搜索框里即出现提前复制的内容

操作步骤:    1、打开Dreamweaver软件,然后在创建新项目下选择HTML;    2、点击“文件”选项,然后点击“另存为”,将文件命名为test,并将其保存在电脑桌面上;    3、编写一个基本的html文件,该html文件包含一个用户名及一个密码输入文本框和一个确定以及一个取消按钮;    4、在title标签下插入<script language="JavaScript">js代码</scri...   操作步骤:   1、打开Dreamweaver软件,然后在创建新项目下选择HTML;   2、点击“文件”选项,然后点击“另存为”,将文件命名为test,并将其保存在电脑桌面上;   3、编写一个基本的html文件,该html文件包含一个用户名及一个密码输入文本框和一个确定以及一个取消按钮;   4、在title标签下插入<script language="JavaScript">js代码</script>,然后在html中调用js函数;   5、完成js代码编写及html调用js代码后保存tset.html文件,然后在浏览器中打开test.html文件,检查js代码执行的效果;   6、在Dreamweaver软件中新建一个check.js文件(方法同html文件新建),在check文件中输入校验函数;   7、然后在test.html的title标签下引用check.js文件;   8、在程序中引用check.js文件中的js函数,然后在浏览器中刷新test.hmtl文件,然后在username的输入框中输入非法字符来检验js代码。 参考技术A <input type="text" name="textfield" onmouseup="srk(this)" />
<script language="javascript">
function srk(obj)
var abc = obj;
abc.value = window.clipboardData.getData('Text');

</script>追问

是别人的网页 比如百度,用你的法子不行的

追答

本回答被提问者采纳

以上是关于文本框如何判断是JS输入的还是手工输入的的主要内容,如果未能解决你的问题,请参考以下文章

js怎样判断文本框输入的全是回车,如果全是回车提示为空

js验证文本框只能输入正整数或带一位小数的数,该怎么写呢?

JS如何验证文本框输入为空

js验证如何限制文本框只能输入数字

html中,怎样用js或者jQuery去判断文本框输入的文本内容超过了文本框的宽度。

如何用JS判断两个文本框输入的数据不一致,并弹出对话框