0

$(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

4

1 回答 1

0

试试喜欢

$("#[id^="+ $last_Time.attr("id")+"]").focus(function()
{
   css("color","red")
});
于 2012-09-14T10:43:58.070 回答