代码背后,VB.Net
btnNext.Attributes.Add("onclick", "Confirmation(this,'" + GetLocalResourceObject("msg").ToString() + "')")
.ASPX 页面
function Confirmation(source, msg) {
$(source).easyconfirm({ locale: { title: 'Confirm', text: msg} });
$(source).click(function() {
var result = $(source).attr('tag');
$('#<%=hidField.ClientID%>').val(result);
});
}
jquery版本 jquery-1.4.4.min.js jquery-ui-1.8.7.min.js
除此之外,我使用 jquery.easy-confirm-dialog 来显示此消息框 [是/否]。jquery.easy-confirm-dialog: http: //www.projectshadowlight.org/jquery-easy-confirm-dialog/
hidField : 参考上面 asp 页面的代码
在 IE 8 上:显示消息框,并根据我单击的内容将我带到相应的页面。[是/否]。hidField在后面的代码中用于获取是/否响应并显示相应的页面。这在 IE8 中完美运行
在 IE 9 上:没有显示消息框,它会将我带到一个页面,就好像我点击了否一样。 hidField值为零表示否。因此,如果没有设置任何值,它会认为我点击了 no 并为其执行代码。
我在 IE9 上对其进行了调试,我发现消息会显示 [仅在调试时],但它不会停止代码的执行并等待用户响应然后继续前进。它在显示消息时继续执行[调试模式,所以我能够看到它]。并且由于hidField的默认值为0 它重定向到适当的页面。
任何可能发生这种情况的建议/原因。除了我上面提到的还有其他原因吗?任何可能的解决方案
更多信息: 我在 IE8 上运行 Profiler [F12 IE] 并在消息框出现后立即停止它,它显示 event.stopImmediatePropagation 被调用。
虽然在 IE9 event.stopImmediatePropagation 不是他们在 profiler.I debugged 中,并且在 jquery.easy-confirm-dialog.js 文件中 IE9 event.stopImmediatePropagation 不可用,显示为未定义。
我从 1.8.2 [早期 1.4.4] 添加了更高版本的 Jquery ,但问题仍然是他们的。