angularjs中按回车事件_使用AngularJS按Enter提交表单

这篇博客详细介绍了如何在AngularJS中创建一个名为`keyBind`的自定义指令,该指令用于根据用户按键事件触发特定的函数。通过`keyCodes`常量,将键码映射到相应的函数,确保在HTML中安全地处理事件。这个指令允许开发者更方便地绑定键盘事件,并在AngularJS应用中响应用户输入。
摘要由CSDN通过智能技术生成

我想要的东西多一点扩展/大于给定答案的语义,所以我写了一个指令,需要一个JavaScript对象以类似的方式内置ngClass:

的HTML

在指令范围内评估对象的值-确保将其用单引号引起来,否则在加载指令时将执行所有功能(!)

因此,例如:  esc : 'clear()'代替esc : clear()

Java脚本

myModule

.constant('keyCodes', {

esc: 27,

space: 32,

enter: 13,

tab: 9,

backspace: 8,

shift: 16,

ctrl: 17,

alt: 18,

capslock: 20,

numlock: 144

})

.directive('keyBind', ['keyCodes', function (keyCodes) {

function map(obj) {

var mapped = {};

for (var key in obj) {

var action = obj[key];

if (keyCodes.hasOwnProperty(key)) {

mapped[keyCodes[key]] = action;

}

}

return mapped;

}

return function (scope, element, attrs) {

var bindings = map(scope.$eval(attrs.keyBind));

element.bind("keydown keypress", function (event) {

if (bindings.hasOwnProperty(event.which)) {

scope.$apply(function() {

scope.$eval(bindings[event.which]);

});

}

});

};

}]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值