【问题标题】:Which 'event' should I use with an <input/> element on an iOS/Android?我应该在 iOS/Android 上与 <input/> 元素一起使用哪个“事件”?
【发布时间】:2014-05-06 01:53:01
【问题描述】:

我需要show/hide results when a user starts to type in the search field of an input element.

我可以使用的一些有趣的事件是

  • mousedown / mouseup
  • 触摸开始/触摸结束
  • 专注

或者完全忽略“点击”事件,只使用“更改”事件来 1. 检测搜索框中是否存在文本,2. 做出相应的响应。

由于可能存在许多细微差别特别是在我不拥有且无法测试的设备上,我希望有人能告诉我应该使用哪个事件来处理这种情况。

*- 注意 - 演示需要手动编辑以下内容,直到配置正确的事件

 $("#local-filterable-listview").hide();
 $("#defaultHomeContent").hide();

【问题讨论】:

    标签: javascript android jquery html ios


    【解决方案1】:

    这似乎真的取决于你想要的确切行为。如果您想在用户第一次与该字段互动时触发操作,那么您需要根据以下条件触发:

    touchstart
    mousedown
    focus
    

    如果只想在字段内容发生变化时触发,可以响应:

    input
    

    如果你还想支持IE9之前的IE(不支持input事件,那么你可能还想触发基于:

    keyup
    drop
    

    【讨论】:

    • 谢谢。当我查看 Google Developer 工具并突出显示该元素时,我没有看到输入字段。 (我不知道有任何其他方法可以列出给定对象的事件)。你的意思是change 而不是输入?
    • @makerofthings7 - 我说的是input 事件的&lt;input&gt; 标签,如here 所述。
    • 有趣:只有在字段失去焦点时才会触发更改。输入可能是最好的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    相关资源
    最近更新 更多