$(focus_On).focus();
wherefocus_on = #start_Time_Mo
不会将焦点设置到该输入字段。
as$(focus_On).css("color","red");
将该字段中的文本设置为红色。
为什么.focus()
现在有效?
示例代码:
$last_Time = $(event.target);
在点击时设置#start_Time_XX
因此是动态创建的on
。
如果时间超出范围,则检查有效时间范围后,使用红色字体突出显示并将焦点重新设置到该输入字段。
$("#detail_Section").on("blur", "#start_Time_Mo, #start_Time_Tu, #start_Time_Wed, #start_Time_Th, #start_Time_Fr, #start_Time_Sa, #start_Time_Su", function(event) {
earliest = (period_Definitions["morning_Start"]).split(":");
earliest_Time = new Date(1970, 1, 1, earliest["0"], earliest["1"], 0, 0);
latest = (period_Definitions["evening_End"]).split(":");
latest_Time = new Date(1970, 1, 1, latest["0"], latest["1"], 0, 0);
test_Times = ($last_Time.val()).split(":");
test_Time = new Date(1970, 1, 1, test_Times["0"], test_Times["1"], 0, 0);
if (test_Time >= earliest_Time && test_Time <= latest_Time) {
console.log("time good");
} else {
focus_On = "#" + $last_Time.attr("id");
$(focus_On).css("color", "red");
$(focus_On).focus();
}
last_String = "";
});
令人讨厌的是,这在 js fiddle 中有效:fiddle