我必须更新旧代码才能与Microsoft Server 2012和IE11一起使用。本文档具有使用 jQuery 日期选择器的过滤器功能。为了避免许多更改,我们同意使用兼容模式,IE开发人员工具显示整个页面的"IE 7(默认)"。
当有人单击日历输入时,我们会看到日历表单,但单击日期不会触发任何操作。 控制台为空。
我们发现,将"about:blank"添加到站点列表("兼容模式")可以解决此问题,但我想以最终用户不必更改任何内容的方式执行此操作,只需将服务器链接添加到此列表即可。
你怎么看这个问题?你知道这种奇怪行为的原因是什么吗?
主页网址:
<!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); }
});
j查询 1.6.2
j查询用户界面 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>
解决方案是将日期选择器的版本从 1.8.16 更改为 1.11.2。在新版本中,单击事件处理已更改为动态。