我有一个错误图层显示在窗体上的无效/空白条目。当出现错误图层时,我想让当前字段失去焦点。在IE中,我无法让这个工作。重点始终留在现场。IE浏览器失去焦点后,字段已被点击进入
<!--Jquery function to override JS alert with DOM layer alert message-->
function customAlert(){
var args = arguments;
if(args.length > 1) {
// check that custom alert was called with at least two arguments
var msg = args[0];
$("li").removeClass("alertRed");
$("input").removeClass("CO_form_alert");
$("select").removeClass("CO_form_alert");
var div = $(".errorPopup");
div.css({"display":"block"});
if (div.length == 0) {
div = $("<div class='errorPopup' onclick='$(this).hide();'></div>");
$("body").prepend(div);
}
div.html(msg);
for(var i = 1; i < args.length; i++) {
var inputID = args[i];
$("#"+inputID).addClass("CO_form_alert").parent().addClass("alertRed");
$("input,select,radio,checkbox").focus(function(){
$(this).unbind('focus'); // remove this handler
$('.errorPopup').hide(); // hide error popup
});
}
}
}
我试过('body')。focus();和$(“#”+ inputID).focusout();这也不起作用。
我也试过:
div.css({"display":"block"});
$("input,select,radio,checkbox").blur();
和
$("input,select,radio,checkbox").blur(function(){
$(this).unbind('focus'); // remove this handler
$('.errorPopup').hide(); // hide error popup
});
但没有一个工作。
看到更新 - 仍然没有工作 – Jason
你可以做一两件事。将tabIndex =“ - 1”设置为错误容器,然后在显示它时将焦点设置为错误容器。你可以说$(“errorContainerSelector”)。focus(); – ShankarSangoli
也尝试过。它似乎在IE中挂了一秒钟,然后焦点/光标仍然在该字段中 – Jason