下拉列表是可输入的,我想要当输入的时候触发onchange事件,当选择的时候触发onpropertychange事件,请问该功能如何实现?
3条回答 默认 最新
- eplang 2010-06-08 10:55关注
输入时不触发onpropertychange是不可能的.
你修改了文本框的值就是修改了文本框的value属性, value属性一变动就会触发onpropertychange事件, 这个是避免不了的.只能从事件优先级中规避这问题.
往文本框里输入东西的话(假设只考虑输入键盘输入), 敲一个字符, 肯定会触发和键盘相关的三个事件, keydown, keyup, keypress.
keydown的时候, 字符还没出来, keyup和keypress的时候, 字符就出来了, 字符一出来就会触发onpropertychange事件.所以我们可以创建一个flag, 默认为false, 在keydown时, 为flag附值为true, 在onpropertychange时, 判断一下flag是否为true, 如果为true, 就代表是敲入字符所触发的, 那我们就将flag赋值为false, 其他啥都不做, 直接返回.
这样应该可以一半达到你所要实现的效果了.
至于别人不用键盘输入, 而是右键粘贴这个... 你就自己琢磨一下吧. 看看onchange和onpropertychange哪个优先级高, 或者还有什么事件可以利用的.
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能
- ¥15 jmeter脚本回放有的是对的有的是错的
- ¥15 r语言蛋白组学相关问题