使用jQuery将快捷键分配给输入按钮

时间:2013-04-09 10:52:48

标签: jquery

<html>
<script>
$('#pasteButton').click( function() {

  // place code for this button
  // ctrl + v shortcut should work for this button
  // how?
  }

});

</script>
<body>
    <input type="button" id="pasteButton" value="Paste" />
</body>
</html>

提前致谢。同样,我还需要使用按钮从textarea剪切/复制所选文本。

3 个答案:

答案 0 :(得分:3)

首先你必须听keydown事件。如果它是control + v,那么你可以触发你的功能 您可以使用以下代码:

<强> HTML

<input type="button" name="pasteButton" value="press me" id="pasteButton"/>

<强> JAVASCRIPT

  $(window).keydown(function(event) {
          if(event.ctrlKey && (event.which == 86 || event.which==118)) { 
              $('#pasteButton').trigger("click")
            event.preventDefault(); 
          }
        });
        $('#pasteButton').click( function(){
            alert("hello");
        });

SAMPLE JSFIDDLE

答案 1 :(得分:1)

取自这篇文章:

How to detect Ctrl+V, Ctrl+C using JavaScript?

$(document).ready(function()
{

    $('#pasteButton').click( function()
    {
        // Your click functionality here
    }

    var ctrlDown = false;
    var ctrlKey = 17, vKey = 86;

    $(document).keydown(function(e)
    {
        if (e.keyCode == ctrlKey) ctrlDown = true;
    }).keyup(function(e)
    {
        if (e.keyCode == ctrlKey) ctrlDown = false;
    });

    $(document).keydown(function(e)
    {
        if (ctrlDown && e.keyCode == vKey) {
           // ctrl + V clicked, click the paste button.

           $('#pasteButton').click();
           return false;
        };
    });
});

答案 2 :(得分:0)

只需使用html标记的 accesskey 属性以获取更多详细信息,请参阅以下链接

http://www.w3schools.com/tags/att_global_accesskey.asp