IE11兼容模式:jQuery datepicker

时间:2015-01-22 10:11:15

标签: jquery html datepicker internet-explorer-11

我必须更新遗留代码才能与Microsoft Server 2012和IE11一起使用。该文档具有使用jQuery datepicker的过滤器功能。为了避免许多变化,我们同意使用兼容模式,IE Developer Tools为整页显示“IE 7(默认)”。

当有人点击日历输入时,我们会看到日历表单,但点击日期并未触发任何操作。控制台是空的。

我们发现在网站列表中添加“about:blank”(“兼容模式”)正在解决这个问题,但我想这样做的方式是最终用户不必更改任何内容,只需添加服务器链接即可这个清单。

你怎么看待这个问题?你知道这种奇怪行为的原因是什么吗?

主页html:

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

<html xmlns="http://www.w3.org/1999/xhtml">

日期选择器:

$( 'input[type=text]#tbDateFrom, input[type=text]#tbDateTo' ).datepicker(
            {
                changeMonth:true,
                changeYear:true,
                showOn:'both',
                buttonImage:'/resources/images/infra/date.png',
                buttonImageOnly:false,
                buttonText:'Select a date',
                showOtherMonths:true,
                selectOtherMonths:true,
                constrainInput:true,
                dateFormat:'mm/dd/yy',
                onClose: function( dateText, inst ){ dateChanged(); },
                onOpen: function(){ $('html, body').animate({ scrollTop:'0px' }, 1500); }
            });

jQuery 1.6.2

jQuery UI 1.8.16

另一个提示,当我点击日历字段时,它触发了链接操作,并且链接已链接到“链接#,因为在ano td onclick未被触发。 当我手动调用DP_jQuery_1421938192356.datepicker._selectDay('#ajdi',0,2015,this)并将其更改为对象处理程序时,它可以正常工作。 那么问题是IE如何创建行动结构?

<TD onclick="DP_jQuery_1421938192356.datepicker._selectDay('#ajdi',0,2015, this);return false;" class=" " sizcache="1519" sizset="0">

<A class=ui-state-default href="http://localhost/dfworks/IMBPalletBrowserController?pl=locPalletMaintenanceFirst&amp;rdmstr=1421937671593#">9</A>

</TD>

1 个答案:

答案 0 :(得分:0)

解决方案是将datepicker的版本从1.8.16更改为1.11.2。 在新版本中,单击事件处理已更改为动态。