- A+
所属分类:Web前端
前两天遇到一个问题,研究了我很差事件。问题如下:
页面只有一个文本框,没有写任何回车事件,但是点回车的时候,就会触发回车,回传页面。
于是各种google,终于有了结果:
- 如果表单里有一个type=”submit”的按钮,回车键生效。
- 如果 表单里只有一个type=”text”的input,不管按钮是什么type,回车键生效。
- 如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FX默认为 type=submit。
- 其他表单元素如textarea、select不影 响,radio checkbox不影响触发规则,但本身在FX下会响应回车键,在IE下不响应。
- type=”image”的input,效果等同于type=”submit”,不知道为什么会设计这样一种type,不推荐使用,应该用 CSS添加背景图合适些。
这五点是引用别人的原话,说的很明了。
我的问题就是上方第二点,跟JS没有一丁点关系,但是浏览器默认有一个规则,当你的页面只有一个type="text"的情况下,他会默认当有一个sumbit的事件,如果出现两个type="text"的时候,就不会生效了
所以,一下次,如果你的页面也只有一个“text”(一般是搜索页面),如果也想写回车事件的话,就要注意了。
其实像这种问题,解决办法很变态,我是在页面里面放一个隐藏的“text”。
我是使用的页面隐藏一个type="text"的input标签。
第二种解决方法就是js阻止页面的回车事件