我正在使用一些混合到ASP.NET页面的jQuery,它似乎没有做它应该做的事情。我正在尝试重新分配向上和向下箭头并输入文本框的键,以便用户可以在列中上下导航(就像在Excel中一样)。我已将事件处理程序设置为OK并且它可以正常工作,但我无法使以下部分正常工作:
e.preventDefault;
e.stopPropogation;
特别是使用回车键,它仍在提交表格,即使这两行也是如此。唯一能让它运作的方法是:
event.cancelBubble = true;
event.returnValue = false;
但是从我读过的内容中你不应该使用它们,因为两个jQuery方法是浏览器无关的。任何帮助理解这一切都会很棒: - )
更新 我有一个像这样的块中的处理程序:
//handles the up/down arrow behaviour of the score boxes
$('.gScoreTB').keydown(function (e) {
if (event.keyCode == 13) {
event.cancelBubble = true;
event.returnValue = false;
}
});
这是一个简单的例子,试图在此刻尝试停止回车键行为:一旦将其钉入,将为其他箭头添加keyCode == 38和40。
答案 0 :(得分:3)
preventDefault
和stopPropagation
都是函数,所以你应该这样做:
e.preventDefault();
e.stopPropogation();
但是return false
更容易(这与调用两者相同):
//handles the up/down arrow behaviour of the score boxes
$('.gScoreTB').keydown(function (e) {
if (e.keyCode == 13) {
return false;
}
});