2017-08-24 74 views
0

我目前正在使用科尔多瓦的移动应用程序。我遇到了这样的问题:我编写了一个函数来检测用户何时输入到文本输入字段并按下回车键。检测keydown事件(移动)

下面是JavaScript代码片段;

<script type="text/javascript"> 
    $(function() { 
     $("#searchForm").on("input", function (e) { 
      e.preventDefault(); 
     }); 
     $("input").on("keydown", function (e) { 
      if (e.keyCode === 13) { 
       var keyField = document.createElement('input'); 
       keyField.setAttribute('type', 'text'); 
       document.body.appendChild(keyField); 
       setTimeout(function() { 
        keyField.focus(); 
        setTimeout(function() { 
         keyField.setAttribute('style', 'display:none;'); 
        }, 50); 
       }, 50); 
      } 
     }); 
    }); 
</script> 

HTML部分;

<form onsubmit="return false" id="searchForm"> 
    <input type="text" id="fieldOne"> 
    <input type="text" id="fieldTwo"> 
    <input type="button" value="Search" id="search" onclick="executeSearches()"/> 
</form>  

此代码的工作,以达到隐藏的移动键盘,但隐藏函数执行时的观点正在因为keyField -variable的移动。

是否有任何其他方式可以实现此功能,而不会移动视图,或者我可以以某种方式确定视图被移动到哪里?

回答

1

你缺少“#”,勾选jQuery选择

$("#searchForm").on("input", function (e) { 
     e.preventDefault(); 
    }); 
+0

指出的那样,但它仍然无法改变的事实,该视图按下“Enter”键后移动。任何想法来解决这个问题? – IlariM