首页 > 解决方案 > iOS:Javascript - 长按后打开键盘

问题描述

每当用户长按按钮时,我都会尝试打开 iOS 键盘。但是,现在,只有正常的点击有效。

澄清:我知道我需要使用代理文本字段。它也适用于正常点击。我只需要一种方法来处理用户长时间按下按钮时的情况。

我认为这与允许触发键盘打开的事件有关。它似乎仅在触发“touchend”事件时才起作用,而不是在使用 setTimeout 从“touchstart”事件中完成时。这个限制有什么解决方法吗?

https://jsfiddle.net/qu2nej0r/12/

let c = new fabric.Canvas(document.getElementById('cvs'));

$('#t').longpress(_ => {

  let i = new fabric.IText(_.type);
  c.add(i);
  c.setActiveObject(i);
  c.renderAll();
  i.enterEditing();
}, _ => {
  let i = new fabric.IText(_.type, {
    left: 40,
    top: 40
  });
  c.add(i);
  c.setActiveObject(i);
  c.renderAll();
  i.enterEditing();
});

标签: javascriptios

解决方案


好的,我可以在 jQuery Javascript 代码中为您提供解决方案,然后您可以轻松地将其转换为 ios javascript

var time = 0

$('#mybutton').click(function(){
    setInterval(function(){
        time += 1;
        if (time == 5) {
            openkeyboard()
        }
    }, 1000)  // 1000 millisecond which is 1 second
})

function openkeyboard() {
    // some code here
}

推荐阅读