Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中绑定ctrl+u击键_Javascript_Jquery_Onkeyup - Fatal编程技术网

Javascript 在jQuery中绑定ctrl+u击键

Javascript 在jQuery中绑定ctrl+u击键,javascript,jquery,onkeyup,Javascript,Jquery,Onkeyup,我正试图在jQuery中为我的web应用程序构建一个热键。我正在尝试绑定Ctrl+U键笔划。以下是我所拥有的: $(document).keypress(function(e) { if(e.ctrlKey && e.which == 117) { if($("#nav-user-details").length > 0) { $("#nav-user-details").find(".dropdown-menu").toggle();

我正试图在jQuery中为我的web应用程序构建一个热键。我正在尝试绑定Ctrl+U键笔划。以下是我所拥有的:

$(document).keypress(function(e) {
    if(e.ctrlKey && e.which == 117) {
      if($("#nav-user-details").length > 0) {
        $("#nav-user-details").find(".dropdown-menu").toggle();
      }
    }
});
但这不起作用。如何绑定此按键


谢谢。

您必须使用向下键而不是按键。按键不触发非字符键

$(document).keydown(function (e) {
  if (e.ctrlKey && e.which === 81) {
    alert("key pressed");
    return false;
  }
});

你将不得不使用keydown而不是keypress。按键不触发非字符键

$(document).keydown(function (e) {
  if (e.ctrlKey && e.which === 81) {
    alert("key pressed");
    return false;
  }
});
请试试这个

按Ctrl+U,屏幕将发出警报

这将符合您的需要:

代码

请试试这个

按Ctrl+U,屏幕将发出警报

这将符合您的需要:

代码

试试这个:

var prevKey = null;
$(document).keydown(function (e) {
  var thisKey = e.which;

  if (prevKey && prevKey == 17) {
    if (thisKey == 85) {
      // Your code.
    }
  }

  prevKey = thisKey;
});
试试这个:

var prevKey = null;
$(document).keydown(function (e) {
  var thisKey = e.which;

  if (prevKey && prevKey == 17) {
    if (thisKey == 85) {
      // Your code.
    }
  }

  prevKey = thisKey;
});
我很确定85是你的密码,还是我遗漏了什么

如果您想要mac支持以及命令键,它可能会变得混乱。我以前写过一段代码,可能会对你有所帮助,但它涉及到浏览器检测,真恶心:

var cmd = false;

$(document).on('keydown', function(e) {

    if(detectMacCommand(e.which)) {
        cmd = true;
        return;
    }

    // now detect print (ctr/cmd + p)
    if ( e.which == 85 && ( e.ctrl || cmd ) ) {
        e.preventDefault();
        alert('ctrl/cmd + u');
    }

}).on('keyup', function(e) {

    if(detectMacCommand(e.which)) {
        cmd = false;
        return;
    }

});

function detectMacCommand(key) {
    return ( $.browser.mozilla && key == 224 ||
             $.browser.opera   && key == 17 ||
             $.browser.webkit  && ( key == 91 || key == 93 ));
}
演示:

我很确定85是u的关键代码,还是我遗漏了什么

如果您想要mac支持以及命令键,它可能会变得混乱。我以前写过一段代码,可能会对你有所帮助,但它涉及到浏览器检测,真恶心:

var cmd = false;

$(document).on('keydown', function(e) {

    if(detectMacCommand(e.which)) {
        cmd = true;
        return;
    }

    // now detect print (ctr/cmd + p)
    if ( e.which == 85 && ( e.ctrl || cmd ) ) {
        e.preventDefault();
        alert('ctrl/cmd + u');
    }

}).on('keyup', function(e) {

    if(detectMacCommand(e.which)) {
        cmd = false;
        return;
    }

});

function detectMacCommand(key) {
    return ( $.browser.mozilla && key == 224 ||
             $.browser.opera   && key == 17 ||
             $.browser.webkit  && ( key == 91 || key == 93 ));
}

演示:

如果您在使用Xhtml文件时遇到错误,则实体必须立即遵循&然后您应该使用&&&;如果在Xhtml文件中工作时出现错误,则实体必须立即遵循&然后应使用&&&;而不是&。

所以这不起作用,例如,它始终只是ctrl的值。我在chrome中尝试过。它在那里工作。用我使用的代码进行编辑。所以这不起作用,例如,它总是只使用ctrl的值。我在chrome中尝试过。它在那里工作。使用我使用的精确代码进行编辑。所以这是可行的,但前提是他们先按ctrl,然后按u。有没有一种方法可以让这两种方式都起作用?当你按ctrl+任何键时,这仍然会发出警报,但只有当他们先按ctrl,然后按u。有没有一种方法可以让这两种方法都起作用?当您按ctrl+any键时,这仍然会发出警报。虽然这可能是解决问题的一个有价值的提示,但一个好的答案也可以演示解决方案。请提供示例代码来说明您的意思。另一方面,考虑将此作为评论来写。虽然这可能是一个有价值的提示来解决这个问题,但一个好的答案也说明了解决方案。请提供示例代码来说明您的意思。另外,请考虑将此作为评论来编写。谢谢这个代码片段,它可以提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在您的答案中添加解释,并说明适用的限制和假设。感谢您提供此代码片段,它可能会提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在您的答案中添加解释,并说明适用的限制和假设。感谢您提供此代码片段,它可能会提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在您的答案中添加解释,并说明适用的限制和假设。感谢您提供此代码片段,它可能会提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在回答中添加解释,并说明适用的限制和假设。