Bri*_*las 4 javascript jquery runtime-error
我正在尝试使用Firebug调试函数,因为JavaScript getModifierState()方法似乎无法正常工作.这是函数的开头:
function kbdEq () {
$(document).on ('keypress', function (e) {
e.preventDefault();
debugger;
var x = e.charCode || e.keyCode;
// etc.
Run Code Online (Sandbox Code Playgroud)
跳入Firebug很简单,但试图测试
e.getModifierState('Alt')
Run Code Online (Sandbox Code Playgroud)
(或任何其他键盘事件作为参数,有或没有引号)导致来自Firebug的此消息:
e.getModifierState不是一个函数
我使用的是Firefox 44.0.2.
我(大概)在这里犯了什么错误?
在使用jQuery时,请注意事件参数(e在您的情况下)是包装实际事件对象的jQuery特定对象.
要访问原始活动,它有一个属性originalEvent.因此,要访问修饰符状态,您必须编写以下内容:
e.originalEvent.getModifierState("Alt");
Run Code Online (Sandbox Code Playgroud)
需要注意的是jQuery的事件对象有一些简单的方法来检查是否Alt,Ctrl,Shift或Meta键被按下.这可以通过做e.altKey,e.ctrlKey,e.shiftKey和e.metaKey分别.
| 归档时间: |
|
| 查看次数: |
2525 次 |
| 最近记录: |