问题:
Grid_KeyUp)MessageBox.Show(...))Keys.Return) 关闭MessageBox我有一个非常简单的孤立样本,它显示了我遇到的问题。只需创建一个空的 WPF 项目并使用此 XAML:
<Grid KeyUp="Grid_KeyUp">
<Button Click="Button_Click"></Button>
</Grid>
Run Code Online (Sandbox Code Playgroud)
以及隐藏的代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Grid_KeyUp(object sender, KeyEventArgs e)
{
Console.WriteLine("KEYUP: " + e.Key);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(this, "TEST");
}
}
Run Code Online (Sandbox Code Playgroud)
如果单击该按钮并按 [Return] 关闭 MessageBox,输出窗口将打印:
KEYUP: Return
Run Code Online (Sandbox Code Playgroud)
奇怪的事实:
KEYUP: Escape,但是当我按 [Space] 时,控制台不会打印任何内容! …我一直在使用 WPF 处理所有隧道和冒泡事件,我必须说它们非常强大。
但我总是问自己是使用 [ PreviewKeyUp 和 KeyUp ] 还是 [ PreviewKeyDown 和 Keydown ]?
我应该使用哪种组合来对按键做出反应,为什么?
我需要检测事件 keydown 和 keyup 中字符的大小写
$('body').keydown(
function(event) {
var charCode = (event.which) ? event.which : event.keyCode;
var char = String.fromCharCode(charCode);
console.log(char + " is down pressed");
}
);
$('body').keyup(
function(event) {
var charCode = (event.which) ? event.which : event.keyCode;
var char = String.fromCharCode(charCode);
console.log(char + " is up pressed");
}
);
Run Code Online (Sandbox Code Playgroud)
您可以在这里尝试:http://jsfiddle.net/8dqwW/
即使没有按下大写锁定,它也总是返回大写字母。
如何检测在这两个事件中按大小写的字母,无论是上部还是下部?
嘿,我有这段代码:
private void Window_KeyUp(object sender, KeyEventArgs e)
{
if (playing == false)
{
return;
}
if (e.KeyCode == Keys.D1)
{
pictureBox6.Image = Form.Properties.Resources.black_square_button;
player.Stop();
player.Close();
playing = false;
}
}
Run Code Online (Sandbox Code Playgroud)
我没有工作,但Window_KeyDown()工作.
我的代码出了什么问题?
谢谢.
刚开始使用android,想弄清楚edittext上的keyUp。我在 keyUp 上遵循了各种教程,它可以工作,但只能按后退按钮。我希望它在类型上工作。就像电话簿一样,当你输入一些事件时会被触发。
我的代码:
private EditText input;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contacts);
addKeyListener();
}
public void addKeyListener() {
input = (EditText) findViewById(R.id.names);
input.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Toast.makeText(Contacts.this,
input.getText() + " you have typed", Toast.LENGTH_SHORT)
.show();
return true;
}
});
}
Run Code Online (Sandbox Code Playgroud)
当前代码仅适用于后退按钮,如果我按下后退按钮,则会Toast出现。
是否有可能让React onChange在一个元素的焦点丢失之后触发该事件而不是将它打开keyUp(目前,它onChange是对操作字段值的任何事件的抽象)?keyUp这对我来说有点慢,而且我认为它可能有助于移动设备解决我正在建设的内容,以便将场景重点转移到场地之后.
我想知道为什么退格/删除按钮没有检测到jQuery中的keyup事件.
我觉得这很奇怪,因为它很有用,应该得到支持.有没有其他选择?
这只发生在Android - Chrome中.
干杯
我正在尝试基于表单输入制作一个实时计算器,当我使用一个示例div它可以工作,但当我尝试在输入中打印总数时,我似乎错过了一些东西......
工作加价解决方案:
<input id='first' type="text" class="form-control formBlock" name="bus_ticket" placeholder="Bus Ticket..." required/><br />
<input id='second' type="text" class="form-control formBlock" name="plane_ticket" placeholder="Plane Ticket..." required/><br />
<input id='third' type="text" class="form-control formBlock" name="hotel_expenses" placeholder="Hotel Expenses..." required/><br />
<input id='fourth' type="text" class="form-control formBlock" name="eating_expenses" placeholder="Eating Expenses..." required/><br />
Total : <span id="total_expenses"></span>
Run Code Online (Sandbox Code Playgroud)
工作脚本
$('input').keyup(function(){ // run anytime the value changes
var firstValue = parseFloat($('#first').val()); // get value of field
var secondValue = parseFloat($('#second').val()); // convert it to a float
var thirdValue = parseFloat($('#third').val());
var fourthValue = …Run Code Online (Sandbox Code Playgroud) 在Android上,v-model的长度在keyup上返回0,除非其为数字或空格键。有谁知道这是为什么,以及如何使它触发keyup事件,而不管它是什么密钥并获得长度?这是我所拥有的清理版本:
<template>
<div class="typeahead">
<input
v-model="query"
v-on:keyup="suggestTerms"
>
</div>
</template>
<script>
export default {
data () {
return {
query: '',
}
},
methods: {
suggestTerms () {
console.log('query length = ' + this.query.length);
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
PS此功能适用于Android以外的所有浏览器和设备。
我有一个使用以下语法的 angular 模板:
(click)="dosomething()"
Run Code Online (Sandbox Code Playgroud)
这工作正常。我现在需要在返回或空格键时触发相同的事件。我添加了这个返回:
(keyup.return)="dosomething()"
Run Code Online (Sandbox Code Playgroud)
这也很好用。
到了空格键,我无法让它工作。我两个都试过...
(keyup.space)="dosomething()"
Run Code Online (Sandbox Code Playgroud)
...也...
(keyup.spacebar)="dosomething()"
Run Code Online (Sandbox Code Playgroud)
...但两者都不起作用。在这两种情况下,按空格只是默认浏览器行为并向下滚动页面。
keyup 甚至似乎是记录在案的解决方案(至少就我所能找到的而言),所以我很困惑我在这里可能会遗漏什么。