Sta*_*s_S 0 javascript android nativescript
我有一个注册表单,其中包含几个TextFields和其他输入.当用户点击其中一个字段时,Android软键盘将始终按预期显示.如果我在外面拍打虽然键盘没有隐藏.有没有办法捕获此事件,以便当用户点击任何输入之外时我可以隐藏键盘?
看起来如下所示允许我隐藏键盘
var pageContainer = page.getViewById('registration-container');
if(pageContainer.android) {
pageContainer.android.clearFocus();
}
Run Code Online (Sandbox Code Playgroud)
但我不确定如何捕捉模糊输入的每个点击事件.我甚至不确定Android是否可行.
您可以将点击侦听器放到父视图中,这样当您单击它(文本字段外的任何位置)时,它将清除显示键盘的文本字段的焦点.你正在做的是清除容器的焦点,而它应该是文本字段:
在XML中:
<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo">
<StackLayout tap="clearTextfieldFocus">
<Label text="Tap the button" class="title"/>
<Label text="{{ message }}" class="message" textWrap="true"/>
<TextField id="myTextfield" hint="Type here..."/>
</StackLayout>
</Page>
Run Code Online (Sandbox Code Playgroud)
在page.js:
function clearTextfieldFocus(args) {
var layout = args.object;
var myTextfield = layout.getViewById("myTextfield");
myTextfield.android.clearFocus();
}
exports.clearTextfieldFocus = clearTextfieldFocus;
Run Code Online (Sandbox Code Playgroud)
P/s:文本字段上的tap监听器将覆盖父监听器,因此单击textfield仍然会聚焦并显示键盘
| 归档时间: |
|
| 查看次数: |
2529 次 |
| 最近记录: |