标签: keypress

jQuery事件Keypress:按下了哪个键?

使用jQuery,当我绑定到按键事件时,如何找出按下了哪个键?

$('#searchbox input').bind('keypress', function(e) {});
Run Code Online (Sandbox Code Playgroud)

我想在ENTER按下时触发提交.

[更新]

即使我发现(或者更好:一个)自己回答,似乎还有一些变异的空间;)

有没有之间的差异keyCodewhich-尤其是如果我只是在寻找ENTER,这永远不会是一个unicode关键?

有些浏览器提供一个属性而其他浏览器提供另一个属性吗?

javascript jquery events bind keypress

703
推荐指数
14
解决办法
76万
查看次数

在JavaScript中检测箭头键

如何检测何时按下其中一个箭头键?我用这个来找出:

function checkKey(e) {
    var event = window.event ? window.event : e;
    console.log(event.keyCode)
}
Run Code Online (Sandbox Code Playgroud)

虽然它适用于所有其他键,但它没有用于箭头键(可能因为默认情况下浏览器应该在这些键上滚动).

javascript keypress keyboard-events

417
推荐指数
12
解决办法
44万
查看次数

如何检测文本框的内容已更改

我希望在文本框的内容发生变化时进行检测.我可以使用keyup方法,但这也会检测不生成字母的击键,如箭头键.我想到了使用keyup事件执行此操作的两种方法:

  1. 如果按下的键的ascii代码是letter\backspace\delete,则明确检查
  2. 使用闭包记住键击之前文本框中的文本是什么,并检查这是否已更改.

两者看起来都很麻烦.

javascript jquery textbox keypress

411
推荐指数
8
解决办法
47万
查看次数

使用AngularJS按Enter键提交表单

在这种特殊情况下,当我按Enter键时,我有什么选项可以让这些输入调用一个函数?

// HTML view //
<form>
    <input type="text" ng-model="name" <!-- Press ENTER and call myFunc --> />
    <br />
    <input type="text" ng-model="email" <!-- Press ENTER and call myFunc --> />
</form>

// Controller //
.controller('mycontroller', ['$scope',function($scope) {
    $scope.name = '';
    $scope.email = '';
    // Function to be called when pressing ENTER
    $scope.myFunc = function() {
       alert('Submitted');
    };
}])
Run Code Online (Sandbox Code Playgroud)

enter function keypress call angularjs

361
推荐指数
7
解决办法
37万
查看次数

在JavaScript中输入按键事件

我有form两个文本框,一个选择下拉菜单和一个单选按钮.当enter按下键时,我想调用一个javascript函数(用户定义),但是当我按下它时,表单就会被提交.

如何formenter按下键时阻止提交?

javascript forms enter keypress dom-events

304
推荐指数
10
解决办法
103万
查看次数

使用jQuery触发按键事件的明确方法

我已经阅读了关于这些问题的所有答案,但没有一个解决方案似乎有效.

此外,我正在获得触发按键的特殊字符的氛围根本不起作用.有人可以验证谁做了这个吗?

jquery events triggers keypress

254
推荐指数
5
解决办法
27万
查看次数

在Selenium中输入Enter/Return键

我正在寻找一种在Selenium中输入和输入或返回键的快捷方式.不幸的是,我试图测试的表单(不是我自己的代码,所以我无法修改)没有提交按钮.手动使用时,我只需输入ENTERRETURN.我需要知道如何使用Selenium type命令执行此操作,因为没有可单击的按钮.

selenium automation automated-tests enter keypress

236
推荐指数
13
解决办法
53万
查看次数

JQuery:检测输入字段的变化

可能重复:
Jquery:如何检测文本框的内容已更改

我想检测用户的键盘操作何时改变文本字段的值.它应该在现代浏览器中一致地工作.

.keypress事件的JQuery页面说它不一致?此外,它不适用于退格,删除等.

我不能使用.keydown,因为它会对shift,alt和箭头键等作出反应.此外,当用户按住某个键并插入多个字符时,它不会多次触发.

有没有简洁的方法我错过了?或者我应该使用.keydown并过滤掉由箭头键,移位等触发的事件?我主要担心的是,我不知道应该过滤掉的密钥.(我差点忘了alt和ctrl,我想可能还有其他人)但是那时我怎样才能检测到按下的键并插入多个字符?

作为奖励,它会检测由于粘贴(包括右键单击)引起的变化,但我从这里得到了解决方案.

jquery keypress

209
推荐指数
4
解决办法
36万
查看次数

ReactJs - onKeyPress事件处理

如何onKeyPress在ReactJS中使事件发挥作用.enter (keyCode=13)按下时应该发出警报.

var Test = React.createClass({
    add: function(event){
        if(event.keyCode == 13){
            alert('Adding....');
        }
    },
    render: function(){
        return(
            <div>
                <input type="text" id="one" onKeyPress={this.add} />    
            </div>
        );
    }
});

React.render(<Test />, document.body);
Run Code Online (Sandbox Code Playgroud)

javascript keypress onkeypress reactjs

181
推荐指数
11
解决办法
29万
查看次数

jQuery:keyPress Backspace不会开火?

我想知道我做错了什么:

$(".s").keypress(function(e) {
   switch (e.keyCode) {
      case 8: // Backspace
      //console.log('backspace');
      case 9: // Tab
      case 13: // Enter
      case 37: // Left
      case 38: // Up
      case 39: // Right
      case 40: // Down
         break;

      default:
         doSearch();
   }
});
Run Code Online (Sandbox Code Playgroud)

doSearch()当我按下Backspace键时,我希望我的功能也被触发.目前,当我Backspace在Chrome和Safari中按下时,绝对没有任何反应.

有任何想法吗?

jquery keypress backspace

180
推荐指数
4
解决办法
15万
查看次数