我有一个jQuery-Script来完成以下任务:
我构建了这段代码:
if (response == "EntryInList") {
$('#entryListContainer div table tbody tr').each(function() {
if ($(this).attr('id') == 'entry_' + $('#<%= txtProductNumber.ClientID %>').val()) {
$(this).css("color", "red");
}
}
);
if (!confirm("Entry already exists. Really overwrite?")) {
jQuery('#<%= txtProductNumber.ClientID %>').val('');
jQuery('#<%= txtCount.ClientID %>').val('');
jQuery('#<%= txtProductNumber.ClientID %>').focus();
return false;
}
}
结果,首先弹出确认框,而不会将行变为红色。仅在那之后 使用盒子,它变成红色。如何让行一次变为红色?
我的另一个问题是确认框拒绝我的页面向下滚动。但 如果gridview比整个页面长,我想这样做。
答案 0 :(得分:2)
在JavaScript代码完成执行并且confirm
对话框为模态对话框之前,显示将不会更新,这将暂停所有脚本,直到对话框关闭。这意味着在关闭框之前,您不会看到对文档的任何更改,即使这些更改已经发生。
一个可行的解决方案可能是使用setTimeout(function () {}, 0)
显示该框,但您可能需要稍微修改其他代码。