使用shift键运行几次输入键

时间:2014-05-07 02:03:25

标签: javascript jquery html

在j查询中运行多次

(输入键和&& shift键)。需要帮助。提前谢谢。

<textarea id = 'text' rows='4' cols='50' style = 'width: 50%;height:15%;' onkeypress = "go('6','5')" placeholder = 'Enter Post....'></textarea>;


function go(a,b){
 $(document).ready(function() {
    $('#text').keypress(function (e) {   
        if (e.keyCode == 13 && e.shiftKey) {
            alert(a);
        } else if (e.keyCode == 13) {
            alert(b);
        }
    }); 
 });
}

2 个答案:

答案 0 :(得分:1)

由于您已经应用了内联onkeypress事件,因此您不需要在.keypress()函数中再次应用go事件。

< S>
function go(a,b){
    if (e.keyCode == 13 && e.shiftKey) {
        alert(a);
    } else if (e.keyCode == 13) {
        alert(b);
    }
}


这是因为您在内联keypress内部应用了.keypress()事件时嵌套了onkeypress,因此最佳解决方案是删除内联{{} 1}}事件,您可以使用onkeypress来实现目标:

.keypress()

<强> Fiddle Demo

答案 1 :(得分:0)

看起来应该是这样的:

<textarea id = 'text' rows='4' cols='50' style = 'width: 50%;height:15%;' placeholder = 'Enter Post....'></textarea>;


 $(document).ready(function() {
    $('#text').keypress(function (e) {   
        if (e.keyCode == 13 && e.shiftKey) {
            alert(a);
        } else if (e.keyCode == 13) {
            alert(b);
        }
    }); 
 });

ready()调用将为您的textarea设置一个按键监听器。无需在HTML中单独定义onkeypress属性。

或者,如果你想保留onkeypress属性而不是使用$ .keypress,它看起来像:

<textarea id = 'text' rows='4' cols='50' style = 'width: 50%;height:15%;' onkeypress = "go('6','5')" placeholder = 'Enter Post....'></textarea>;


function go(a,b){
    if (e.keyCode == 13 && e.shiftKey) {
        alert(a);
    } else if (e.keyCode == 13) {
        alert(b);
    }
}

文档加载完成后运行$ .ready()函数。这不是必要的,因为您只定义了一个函数(您不需要等待文档准备好定义函数)。 $ .keypress()函数创建一个keypress监听器。这里没有必要,因为您已经使用onkeypress属性添加了一个监听器。所以,你剩下的就是你的onkeypress代码调用的函数。