描述问题场景:

  1.jquery使用的版本是jquery-1.7.2.min.js

  2.代码不是写在页面上的,是通过事件后追加的

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/jquery-1.7.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/My97DatePicker/WdatePicker.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="main"> </div>
<input type="button" id="ceshi" value="点击" onclick="ceshiClick()"/>
</body>
<script type="text/javascript">
var str = "<input id='d4315' class='time_start Wdate clearInput' type='text' onFocus=\"WdatePicker({maxDate:'#F{$dp.$D(\\'d4316\\')||\\'%y-%M-%d\\'}',onpicked:function(){$('#d4316').focus();}})\"><span>-</span><input id='d4316' class='time_end Wdate clearInput' type='text' onFocus=\"WdatePicker({maxDate:'%y-%M-%d',minDate:'#F{$dp.$D(\\'d4315\\')}'})\">";
function ceshiClick(){
$('.main').html(str);
}
</script>
</html>

出现问题源代码

  复制上述代码运行发现:选择第一个日期输入框值后,第二个输入框获取了焦点,但是它并没有执行第二个输入框的焦点事件,使得日期控件展示出来;但是在官网的描述和介绍中发现写法并没有问题
 
解决过程:
  此问题是在项目开发中遇到的,便在自己本地开始测试,防止是项目中的别的问题影响,在本地测试发现不管是直接写在页面的文档流中还是后追加进去的都没有问题,唯一的不同之处是我本地测试用的是jquery-1.12.3.min.js版本,测试发现更改了jquery版本解决了此问题
 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery-1.12.3.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/My97DatePicker/WdatePicker.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="main"> </div>
<input type="button" id="ceshi" value="点击" onclick="ceshiClick()"/>
</body>
<script type="text/javascript">
var str = "<input id='d4315' class='time_start Wdate clearInput' type='text' onFocus=\"WdatePicker({maxDate:'#F{$dp.$D(\\'d4316\\')||\\'%y-%M-%d\\'}',onpicked:function(){$('#d4316').focus();}})\"><span>-</span><input id='d4316' class='time_end Wdate clearInput' type='text' onFocus=\"WdatePicker({maxDate:'%y-%M-%d',minDate:'#F{$dp.$D(\\'d4315\\')}'})\">";
function ceshiClick(){
$('.main').html(str);
}
</script>
</html>

jquery1.12版本

  为了测试问题的真正存在,将第二个输入框中的onFocus的事件改成普通事件,发现它可以正常运行,而改成my97的方法则不行,那么导致此问题的应该是my97的方法吧

解决方法总结:

  1.如果坚持使用jquery-1.7.2.min.js版本,则在第一个输入框的onpicked事件中,使用原生js实现,即$('#d4316').get(0).focus();

  2.要么使用高版本的jquery

注:导致此问题出现的真正原因尚未找到
 

my97DatePicker日期控件——日期输入框联动,使用focus使第二个输入框没展示出日期控件的更多相关文章

  1. Anroid关于fragment控件设置长按事件无法弹出Popupwindows控件问题解决记录

    一.问题描述     记录一下最近在安卓的gragment控件中设置长按事件遇见的一个坑!!!     在正常的activity中整个活动中设置长按事件我通常实例化根部局,例如LinearLayout ...

  2. 点击Input框弹出日期选项

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 第二十一篇:SOUI中的控件注册机制

    Win32编程中,用户需要一个新控件时,需要向系统注册一个新的控件类型.注册以后,调用::CreateWindow时才能根据标识控件类型的字符串创建出一个新的控件窗口对象. 为了能够从XML描述的字符 ...

  4. Delphi 7 里没有加载的控件

    在原来版本如D5.D6中使用的控件如Quickrep,FastNet等,在D7中仍然是保留的.只是Delphi没有将他们默认的安装到组件面版中来.这些控件包全部保存在Delphi目录的bin下,文件扩 ...

  5. 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

    原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...

  6. 用C++编一程序,先输出一行sun mon tue wed thu fri fri,接着使用右对齐打印出日期,像日历那样

    用C++编一程序,先输出一行sun mon tue wed thu fri fri,接着使用右对齐打印出日期,像日历那样 先输出一行sun mon tue wed thu fri fri,再提醒用户输 ...

  7. 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false

    关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...

  8. 怎样在不对控件类型进行硬编码的情况下在 C#vs 中动态添加控件

    文章ID: 815780 最近更新: 2004-1-12 这篇文章中的信息适用于: Microsoft Visual C# .NET 2003 标准版 Microsoft Visual C# .NET ...

  9. vue+element项目中使用el-dialog弹出Tree控件报错问题

    1. 按正常的点击按钮,显示dialog弹出的Tree控件,然后把该条数据下的已经选中的checkbox , 用setCheckedNodes或者setCheckedKeys方法选择上 , 报下面这个 ...

随机推荐

  1. linux几个常用的命令及获取帮助的方法

    date:时间管理,可以显示.修改系统时间.  设定时间:格式:MMDDhhmm[[cc]yy][.ss]其中MM为月分,DD为日期,hh为小时,mm为分钟,CC为年的前两位 YY为年分的后两位,.s ...

  2. Android 学习资源收集

    1.2015最流行的Android组件.工具.框架大全 地址  http://www.open-open.com/lib/view/open1436262653692.html

  3. PHP获取某月天数

    方式一: <?php function days($year,$month){ if($month<10){ $month = '0'.$month; } if($month == 12) ...

  4. 原生js封装ajax,实现跨域请求

    描述: 需要ajax跨域请求,用cors跨域方案.服务端设置: header('Access-Control-Allow-Origin: http://front.ls-la.me'); header ...

  5. nginx配置返回文本或json

    有些时候请求某些接口的时候需要返回指定的文本字符串或者json字符串,如果逻辑非常简单或者干脆是固定的字符串,那么可以使用nginx快速实现,这样就不用编写程序响应请求了,可以减少服务器资源占用并且响 ...

  6. Windows10系统如何更改程序的默认安装目录?

    Windows10系统如何更改程序的默认安装目录? 在Windows10系统的使用中,软件程序的默认安装目录是:C:\Program Files\...或者C:\Program Files(x86)\ ...

  7. selenium 常见面试题以及答案(Java版)

    1.怎么 判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如 ...

  8. shell 指定范围产生随机数

    #/bin/bash echo "---------------产生随机数---------------" read -p "请输入起始数:" a read - ...

  9. C/C++调试工具gdb

    关于Gdb的使用,请参考:http://blog.csdn.net/haoel/article/details/2879

  10. Mac eclipse配置Python环境

    1.给Eclipse安装PyDev插件 第一次启动会让选择一个工作空间,按缺省设置,勾选一下不再提醒,就可以了.在Help菜单中,选择Install New Software···, 选择Add按钮, ...