jQuery 绑定(bind) keyup、keydown - 无法在表单字段中输入内容

标签 jquery coffeescript

经过大量调试后,我找到了无法在表单字段中输入任何文本的原因。

我有一个 jQuery 函数来捕获我在 JS 应用程序中使用的一些键。

$(document).bind 'keyup keydown', (e) -> 
    shifted = e.shiftKey
    cntrled = e.metaKey || e.ctrlKey

Javascript:

$(document).bind('keyup keydown', function(e) {
      shifted = e.shiftKey;
      return cntrled = e.metaKey || e.ctrlKey;
    });

为什么我无法在表单字段中输入内容?

一旦删除该部分,我就可以再次输入。

最佳答案

您返回的值 cntrled 会取消事件。

在 Coffeescript 中,将返回函数中的最后一个值。

返回 true 作为处理程序中的最后一行。

JavaScript 相当于你现在正在做的事情......

$(document).bind('keyup keydown', function (e) {
    var shifted = e.shiftKey
        , cntrled = e.metaKey || e.ctrlKey;
    return cntrled;
});

将其更改为...

$(document).bind('keyup keydown', function (e) {
    var shifted = e.shiftKey
        , cntrled = e.metaKey || e.ctrlKey;
    return true;
});

关于jQuery 绑定(bind) keyup、keydown - 无法在表单字段中输入内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14518192/

相关文章:

javascript - 无法读取未定义的属性 'prototype'; CoffeeScript 与 Require.js 的继承

javascript - 如何访问另一个jquery函数的全局变量

javascript - 当sectionName 为 false 时,Scrollify Move 不起作用

jquery - 有没有更好的方法在 Coffeescript 中使用 => 在函数中调用 $(this) ?

node.js - 如何从异步调用返回值

由于 lodash 合并功能,CoffesScript 中的继承无法正常工作

jquery - 如何在 jQuery 中合并 $.load() 函数

jquery - 在 jquery post 到 Controller 中包含 @Model 属性

php - Javascript/jquery 在 IE8 中不工作

javascript - 这是在 Rails 5 应用程序中设置 Google Analytics 的正确方法吗?