移动端(html5)微信公众号下用keyup实时监控input值的变化无效

搜索框依据用户输入的值实时检索,一开始自然而然想到keyup,在拼音状态时,啥问题也没有,

问题1:切换到中文输入法,问题出来了,keyup事件不灵便了,后来在网上搜了下,找到了思路,

问题2:微信公众平台开发时,客户提需求“输入框中输入内容时,输入框后边显示清除按钮,清除输入框中的内容”,使用“keyup”事件时在中文输入法下部分按键keyup事件无效,

方法一:主要是给搜索框注册focus事件,隔个时间去检索下,贴出代码

  1. <script language="javascript" type="text/javascript" src="jquery.js"></script>
  2. <script>
  3. $(function () {
  4. $(‘#wd‘).bind(‘focus‘,filter_time);
  5. })
  6. var str = ‘‘;
  7. var now = ‘‘
  8. filter_time = function(){
  9. var time = setInterval(filter_staff_from_exist, 100);
  10. $(this).bind(‘blur‘,function(){
  11. clearInterval(time);
  12. });
  13. };
  14. filter_staff_from_exist = function(){
  15. now = $.trim($(‘#wd‘).val());
  16. if (now != ‘‘ && now != str) {
  17. console.log(now);
  18. }
  19. str = now;
  20. }
  21. </script>

方法二:用 input 和 propertychange事件可以解决,

本人测试只能用dom2的绑定方法使用 如 document.getElementById(‘box‘).addEventListener(‘input‘,function(){...dosomething...},false);

  1. html>
  2. <head>
  3. <script type="text/javascript" src="http://www.zlovezl.cn/static/js/jquery-1.4.2.min.js"></script>
  4. </head>
  5. <body>
  6. <p>
  7. 使用oninput以及onpropertychange事件检测文本框内容:
  8. </p>
  9. <p>
  10. <input type="text" name="inputorp_i" id="inputorp_i" autocomplete="off"/>
  11. <span id="inputorp_s"></span>
  12. <script type="text/javascript">
  13. //先判断浏览器是不是万恶的IE,没办法,写的东西也有IE使用者
  14. var bind_name = ‘input‘;
  15. if (navigator.userAgent.indexOf("MSIE") != -1){
  16. bind_name = ‘propertychange‘;
  17. }
  18. $(‘#inputorp_i‘).bind(bind_name, function(){
  19. $(‘#inputorp_s‘).text($(this).val());
  20. })
  21. </script>
  22. </p>
  23. </body>
  24. </html>

可是也有人说用jq方式绑定即可 如:

  1. $(‘#input‘).bind(‘input propertychange‘, function() {
  2. alert("....")
  3. });

或者原生:

  1. <script type="text/javascript">
  2. // Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9
  3. function OnInput (event) {
  4. alert ("The new content: " + event.target.value);
  5. }
  6. // Internet Explorer
  7. function OnPropChanged (event) {
  8. if (event.propertyName.toLowerCase () == "value") {
  9. alert ("The new content: " + event.srcElement.value);
  10. }
  11. }
  12. </script>
  13. <body>
  14. <input type="text" oninput="OnInput (event)" onpropertychange="OnPropChanged (event)" value="Text field" />
  15. </body>

最后需要注意的是:oninput 和 onpropertychange 这两个事件在 IE9 中都有个小BUG,那就是通过右键菜单菜单中的剪切和删除命令删除内容的时候不会触发,而 IE 其他版本都是正常的,目前还没有很好的解决方案。不过 oninput & onpropertychange 仍然是监听输入框值变化的最佳方案..

时间: 2024-08-07 00:16:46

移动端(html5)微信公众号下用keyup实时监控input值的变化无效的相关文章

Ionic+AngularJS 开发的页面在微信公众号下显示不出来原因查究

ionic 页面 微信浏览器遇到的坑 公司的微信公众号一部分页面是用AngularJS+Ioinc开发,发现在本地浏览器测试的时候都没问题,传到服务器在微信公众号下跑就出问题来,经查是: index-tab页面 406 not accessable http请求头问题 1 $httpProvider.interceptors.push(function() { 2 return { 3 "request": function(config) { 4 //console.log(conf

pc端引入微信公众号文章

最近做了一个小需求,结果坑特别多..... 需求是这样的,要给公司内部做一个微信公众号广告投票系统,整个项目就不多赘述了,有个小功能,要求是这样的: 点击某条记录后的“投票”按钮,在当前页面弹出弹窗显示文章内容(读取文章url,需要正确展示文字.图片.排版等),保持3分钟,这期间在当前页面上不可进行任何操作,不可投票也不可关闭文章.3分钟后,文章下方的投票区域可用,点击“提交”按钮时,校验所有项目是否都已选择,如果没有,则弹窗提示.提交完成后,状态更改为“已投票”(只是针对该用户,不针对该公众号

微信公众号 - 下拉(展开/隐藏)

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compat

Mac下进行基于java服务端语言的微信公众号本地js-sdk调试的大致方法

开发微信公众号应用调用js-sdk,需要先在微信公众号后台配置可信域名,之后从微信的入口地址重定向到改域名下的路径后便会返回code,之后可以拿到一系列需要的参数等等.那么本地开发,如果使用的是PHP语言,在本地hosts文件添加一条记录,默认80端口,即可在本地使用微信开发者调试工具进行微信公众号应用的开发调试,但如果使用的java语言,默认8080端口,如果设置为80端口启动,非root权限下tomcat是启动不成功的,如果以root权限启动tomcat或者eclipse又会造成其他一些问题

微信公众号 几种移动端UI框架介绍

微信公众号开发,主要是移动端网页的页面开发,在这里推荐3个移动端UI框架:WeUI.SUI和Mint UI. 1. WeUI 1.1 WeUI WeUI是微信官方设计团队为微信 Web 开发量身设计,可以令用户在HTML5应用中的使用感知更加统一. 组件包含button.cell.dialog. progress, toast.article.icon等等. 资源 官方Demo:https://weui.io/ Github:https://Github.com/weui/weui (★1340

&ldquo;互联网+&rdquo;背景下使用微信公众号增强班主任工作与整合教学资源(泰微课)

前记:此文是我爱人一项作业.因为我本人对于微信这一块比较熟悉,就参与这项作业中.此文已经参加移动和教育相关活动.作者是我爱人,如有转载请署名作者. 一.什么是"互联网+"? 早在1969年互联网诞生之初,人们的初衷仅仅是对计算机之间的互相通信.就像电话.传真那样简单.而四十多年间互联网的发展用"日新月异"都嫌慢.互联网也从原先的固定线路的延展到基于移动通信的移动网络,互联的设备也从刚开始的以计算机为主发展到"connect to anything"

PHP微信公众号JSAPI网页支付(下)

上一篇<a id="cb_post_title_url" class="postTitle2" href="http://www.cnblogs.com/hld123/p/6626323.html">PHP微信公众号JSAPI网页支付(上)</a>中讲到了公众号平台的相关设置以及支付的大致流程. 这一篇重点讲支付后,异步接受回调通知,以及处理后同步通知微信服务器. 首先梳理下整个jsapi支付的流程 1.网页授权获取用户o

nodejs 中koa框架下的微信公众号开发初始篇

最近在搞微信公众号开发,后端采用的是nodejs下的koa框架,初识后端的菜鸟,自己搞难度太大了,网上找了很多文章,采用的中间件大都是express框架下的,不过好在爬了许多坑之后总算看见点曙光了,遂把探索出来的一点东西拿出来分享,毕竟能力有限,拿出来也是希望大神看到了给点建议, 主要用 koa-wechat 处理验证和消息解析 ,用wechat-api来进行按钮组等api操作,刚开始没什么内容,大家随意看看就好, 废话不多说,直接上代码(这是一个route的代码): var koa = req

做微信公众号时,移动端滑动效果(swiper插件(display:none))显示滑动问题

微信公众号的制作,其中缺少不了希望实现标题.内容.图片的滑动效果, 这时候可以选择使用(swiper插件)实现相应效果,功能十分强大,链接:http://www.swiper.com.cn/: 最近做一款公众号时,在实现功能时遇到一难点,废了九牛二虎之力,终于在一高人的帮助下解决了. 1.问题描述: 原本该滑动项是隐藏的(display:none;),滑动项的代码是参考swiper插件文档内容而写, 通过按钮点击之后该滑动项显示(dispay:block),再进行左右滑动效果时,始终显示swip