js页面当中没有写回车事件,但是有回车效果

  • js页面当中没有写回车事件,但是有回车效果已关闭评论
  • 45 次浏览
  • A+
所属分类:Web前端
摘要

前两天遇到一个问题,研究了我很差事件。问题如下:页面只有一个文本框,没有写任何回车事件,但是点回车的时候,就会触发回车,回传页面。

前两天遇到一个问题,研究了我很差事件。问题如下:

页面只有一个文本框,没有写任何回车事件,但是点回车的时候,就会触发回车,回传页面。

于是各种google,终于有了结果:

  1. 如果表单里有一个type=”submit”的按钮,回车键生效。
  2. 如果 表单里只有一个type=”text”的input,不管按钮是什么type,回车键生效。
  3. 如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FX默认为 type=submit。
  4. 其他表单元素如textarea、select不影 响,radio checkbox不影响触发规则,但本身在FX下会响应回车键,在IE下不响应。
  5. type=”image”的input,效果等同于type=”submit”,不知道为什么会设计这样一种type,不推荐使用,应该用 CSS添加背景图合适些。

这五点是引用别人的原话,说的很明了。

我的问题就是上方第二点,跟JS没有一丁点关系,但是浏览器默认有一个规则,当你的页面只有一个type="text"的情况下,他会默认当有一个sumbit的事件,如果出现两个type="text"的时候,就不会生效了

所以,一下次,如果你的页面也只有一个“text”(一般是搜索页面),如果也想写回车事件的话,就要注意了。

其实像这种问题,解决办法很变态,我是在页面里面放一个隐藏的“text”。

我是使用的页面隐藏一个type="text"的input标签。

第二种解决方法就是js阻止页面的回车事件