Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何覆盖选项卡上的焦点或用户单击(焦点)_Javascript_Jquery - Fatal编程技术网

Javascript 如何覆盖选项卡上的焦点或用户单击(焦点)

Javascript 如何覆盖选项卡上的焦点或用户单击(焦点),javascript,jquery,Javascript,Jquery,在我的表单验证中,在提交时,我正在验证表单,并找到未填充的元素,并使用以下函数聚焦:works fine switch (tagName) { case 'TEXT': if (!actualValue) { $(target).next('.error').css('display', 'block'); that.submitIt = false; target.select(); } else {

在我的表单验证中,在提交时,我正在验证表单,并找到未填充的元素,并使用以下函数聚焦:works fine

switch (tagName) {
  case 'TEXT':
      if (!actualValue) {
          $(target).next('.error').css('display', 'block');
          that.submitIt = false;
          target.select();
      } else {
          $(target).next('.error').css('display', 'none');
          that.submitIt = true;
      }
      break;
  case "SELECT-ONE":
      if (actualValue === 'Select') {
          $(target).next('.error').css('display', 'block');
          that.submitIt = false;
          target.select();
      } else {
          $(target).next('.error').css('display', 'none');
          submitIt = true
      }
      break;
  case "RADIO":
  case "CHECKBOX":
      if (actualValue && actualValue !== 'undefined') {
          $(target).siblings('.error').css('display', 'none');
          that.submitIt = true;
      } else {
          $(target).siblings('.error').css('display', 'block');
          that.submitIt = false;
          target.select();
      }
      break;
}
但问题是,该功能不允许用户移动下一个字段(使用tab或手动切换到下一个字段)

如何覆盖选项卡上的焦点、手动移动(焦点)或箭头键


问题在于
目标。选择()
行。每次验证输入字段且验证失败时(例如,当您尝试离开该字段时),它都会重新选择该字段

编辑:由于您在focusout上进行验证,然后重新选择,因此除了删除
target.select()
,我真的看不到任何其他解决方法。你不能像他们说的那样吃喝玩乐。另一种方法是仅在提交时进行验证


例如,JQuery验证插件会在更改和聚焦时将字段标记为无效,但不会选择它。可能是因为这个问题。

问题在于
目标.select()
行。每次验证输入字段且验证失败时(例如,当您尝试离开该字段时),它都会重新选择该字段

编辑:由于您在focusout上进行验证,然后重新选择,因此除了删除
target.select()
,我真的看不到任何其他解决方法。你不能像他们说的那样吃喝玩乐。另一种方法是仅在提交时进行验证


例如,JQuery验证插件会在更改和聚焦时将字段标记为无效,但不会选择它。可能是因为这个问题。

你能不能也发布你的HTML代码?在你的演示中,一切对我来说都很好,我可以使用TAB按钮从当前字段跳转到下一个字段。你的演示没有你提到的问题对不起,url错误。现在检查-url已更新。)嗯。现在我明白了问题所在。你的代码在Firefox中运行良好,但在Chrome中失败。你可以发布你的HTML代码吗?在你的演示中,我可以使用TAB按钮从当前字段跳转到下一个字段。你的演示没有你提到的问题对不起,url错误。现在检查-url已更新。)嗯。现在我明白了问题所在。您的代码在Firefox中运行良好,但在Chrome中失败。我正在寻找克服此问题的方法。。!?寻找一些好的方法有没有一种方法可以消除对setInterval的关注?我正在寻找克服这一点的方法。。!?寻找一些好方法有没有办法消除对setInterval的关注?