按键并运行函数jquery

时间:2015-07-05 09:10:18

标签: javascript jquery function key

当用户按退格键(8)或输入(13)时,我不想运行此功能。

$(document).keypress(function(e) {
    if(e.which == 8) { //-- or 13
        var x = document.getElementsByTagName("BODY")[0];
        x.style.backgroundImage = "-moz-linear-gradient(--90deg, #004158 0%, #005472 100%)";
        x.style.backgroundImage = "-webkit-linear-gradient(--90deg, #004158 0%, #005472 100%)";
        x.style.backgroundImage = "-o-linear-gradient(--90deg, #004158 0%, #005472 100%)";
        x.style.backgroundImage = "linear-gradient(-180deg, #004158 0%, #005472 100%)";
    }
});

但是这段代码不起作用。

感谢。

3 个答案:

答案 0 :(得分:1)

你使用的jQuery版本是什么?

$(document).on('keypress', function(e) {
if(e.which == 8 || e.which == 13) { //-- or 13
    var x = document.getElementsByTagName("BODY")[0];
    x.style.backgroundImage = "-moz-linear-gradient(--90deg, #004158 0%, #005472 100%)";
    x.style.backgroundImage = "-webkit-linear-gradient(--90deg, #004158 0%, #005472 100%)";
    x.style.backgroundImage = "-o-linear-gradient(--90deg, #004158 0%, #005472 100%)";
    x.style.backgroundImage = "linear-gradient(-180deg, #004158 0%, #005472 100%)";
     e.preventDefault();
}
});

http://jsfiddle.net/pmq0215r/

答案 1 :(得分:0)

Try keydown instead of keypress

$(document).keydown(function(e) {
    if(e.which == 8) { //-- or 13
        alert('8');
    }
});

See this

答案 2 :(得分:0)

--90deg更改为-90deg, - 90deg无效值。并且您可以使用jQuery设置背景

运行代码段并在正文上按Enter键,jquery v1.2.3是我使用过的代码段中最早的代码:



$("body").keypress(function(e) {
  if (e.which == 8 || e.which == 13) {

    $("body").css('background', '-moz-linear-gradient(-90deg, #004158 0%, #005472 100%)');
    $("body").css('background', '-webkit-linear-gradient(-90deg, #004158 0%, #005472 100%)');
    $("body").css('background', '-o-linear-gradient(-90deg, #004158 0%, #005472 100%)');
    $("body").css('background', 'linear-gradient(-90deg, #004158 0%, #005472 100%)');
  }

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
&#13;
&#13;
&#13;