首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在IE浏览器上修复jquery日历?

如何在IE浏览器上修复jquery日历?
EN

Stack Overflow用户
提问于 2011-11-17 14:57:44
回答 1查看 152关注 0票数 1

你们中的任何人都遇到了和我一样的问题,即使用户已经通过IE选择了日期,JQuery日历仍然会继续弹出。解决方案是什么来解决这个?..because在其他浏览器,如FF,Chrome,Safari,jquery日历工作。下面是我在所有日期输入字段中使用的简单代码

代码语言:javascript
运行
复制
$(function(){
  $('#datepicker').datepicker({changeYear: true,changeMonth: true,yearRange:'1940:2011',defaultDate:+7});
})
EN

回答 1

Stack Overflow用户

发布于 2011-11-17 15:03:23

jQuery datepicker为IE中的DOM元素添加了一个新属性。如果您试图添加一个新的DOM元素,从现有元素动态复制,那么在IE中datepicker将不起作用,因为新添加的DOM元素引用了旧的jQuery属性。解决这个问题的一种方法是删除属性,然后实例化元素上的datepicker类。有关修复的信息,请参阅以下代码。

代码语言:javascript
运行
复制
 //newDiv is the new added dom element with innerHTML
 jQuery("#newDiv").find(".datePicker").each(function() {
//removing jquery added attribute as this is causing the dynamically
// added DOM elem referring old DOM element from it is copied.
if (jQuery.browser.msie) {
    var jqaddedattr;
    jQuery(this.attributes).each(function() {
        if (this.name.search(/jQuery/) != -1) {
            jqaddedattr = this;
        }
    });
    if (jqaddedattr) {
        jQuery(this).removeAttr(jqaddedattr.name);
    }
}
jQuery(this).datepicker({yearRange: '-100:+10',    changeFirstDay:false}).val("").trigger('change');
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8163243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档