我必须更新遗留代码才能与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&rdmstr=1421937671593#">9</A>
</TD>
答案 0 :(得分:0)
解决方案是将datepicker的版本从1.8.16更改为1.11.2。 在新版本中,单击事件处理已更改为动态。