(输入键和&& 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);
}
});
});
}
答案 0 :(得分:1)
由于您已经应用了内联 onkeypress
事件,因此您不需要在.keypress()
函数中再次应用go
事件。
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代码调用的函数。