• 必须吐槽一下:与js无关的回车事件


    今天遇到一个问题,搞的我丈2的和尚。问题如下:

    页面里面一个表单,一个文本框,没有写任何回车事件,但是点回车的时候,就会触发回车,回传页面。
    以为是事件冒泡,各种阻止,没有用。

    于是 写了一个响应回车事件的方法。结果页面会回传两次,(自己写的方法回传一次,不知道由来的响应回车事件,又让页面回传一次)。
    而且第二次回传是在我第一次回传之后。所以第一次回传会被中止。也就是我自己写的响应事件,是达不到预期效果的。这下问题就严重了。我想做的事,做不了。

    于是各种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没有关系,仅是浏览器默认的一些规则而矣。

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

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

  • 相关阅读:
    Centos 6.5 Install Mysql 8.0.0
    Django根据现有数据库建立/更新model
    Python之路【第十七篇】:Django【进阶篇 】
    Django之Model操作
    Django之Form组件
    Appium+python自动化获取toast消息(windows版)的方法
    'sudo'不是内部或外部命令,,,,的解决办法
    LookupError: unknown encoding: cp65001解决方案
    进程和线程(5)-分布式进程
    进程和线程(4)-进程 vs. 线程
  • 原文地址:https://www.cnblogs.com/XChWaad/p/3309301.html
Copyright © 2020-2023  润新知