Men*_*cia 5 javascript preventdefault stoppropagation
在输入框中,我想停止光标的传播,就像我在向上键"↑"上键入一样:
之前:
tes|t//光标在t之前
之后:
|test //光标开始了
我想阻止光标移动,所以它必须在t之前停留.
到目前为止,我正在尝试这个,但它不起作用:
$('input').keyup(function(e) {
if (e.which == 40) { // up key
e.stopPropagation();
e.stopImmediatePropagation();
e.preventDefault();
// actions
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
这还有可能吗?
你可以用keydown它:
$('input').keydown(function(e) {
if (e.which == 40) { // up key
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
keyupkeypress事件处理后触发并且keypress不应为不可打印的字符触发(尽管不同浏览器之间存在一些不一致),因此阻止事件的默认操作keydown是最佳操作.
请记住,如果您没有充分的理由阻止默认操作(例如,在关注搜索字段时浏览自动完成列表),则可能会影响其他用户的可用性,如@Kolink所评论.
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |