【问题标题】:Fire Event before 'focus' kicks in / Fire Event before keyboard appears on iOS在“焦点”启动之前触发事件/在 iOS 上出现键盘之前触发事件
【发布时间】:2016-12-11 19:42:11
【问题描述】:

我想在我关注文本区域之前触发一个事件(即在键盘出现在 iOS 上之前)。

这可能吗?

我处理焦点的代码在这里:

$(document).on('focus', 'textarea', function() {
    console.log("focus event");
});

【问题讨论】:

    标签: javascript jquery ios keyboard-events


    【解决方案1】:

    试试 touchstart 事件

    $(document).on('touchstart', 'textarea', function() {
    console.log("touchstart event");
      });
    

    【讨论】:

    • 不幸的是,这不起作用,我在那里触发了一个事件,但键盘仍然在任何事情完成之前打开。
    • 我可能需要以新的格式重新提出这个问题,因为当他们放下手指时会开始触摸,而当他们抬起手指时会出现键盘。因此,移动设备上的标准“触摸”是一种即时的触摸开始模糊,此时键盘打开。即使有最轻微的延迟,键盘也会先打开(在代码被击中之前)。我花了一个星期左右的时间来寻找如何控制键盘外观,但没有运气。请问您有什么想法吗?也会打开一个新问题。谢谢
    【解决方案2】:

    我会使用focusin event 注意这个事件也会捕获子元素的焦点。

    focusin:在第一个目标元素获得焦点之前发送

    $("div").focusin(function(){
        $(this).css("background-color", "#FFFFCC");
    }); 
    

    点击这里了解更多about the focus events order

    【讨论】:

      猜你喜欢
      • 2013-08-15
      • 2019-02-28
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多