文本框如何判断是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的值
比如百度页面,鼠标弹起,搜索框里即出现提前复制的内容
<script language="javascript">
function srk(obj)
var abc = obj;
abc.value = window.clipboardData.getData('Text');
</script>追问
是别人的网页 比如百度,用你的法子不行的
追答以上是关于文本框如何判断是JS输入的还是手工输入的的主要内容,如果未能解决你的问题,请参考以下文章