2

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

我有一个 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;
    });

为什么我不能在适当的位置输入表单字段?

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

4

1 回答 1

3

您正在返回取消事件的值 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;
});
于 2013-01-25T08:48:15.020 回答