【发布时间】:2013-05-19 11:59:54
【问题描述】:
注意:这个问题与How to disable text selection highlighting using CSS?不同
在提问之前,我阅读了上述问题的讨论历史。一切正常,除了我可以允许CTRL+A(全选)仅在输入元素内有效。
那是因为我正在桌面上部署我的 HTML5 应用程序,我希望 GUI/Forms 应用程序具有相同的行为。
起点是什么?尝试使用 keypress 事件绑定所有元素并观察 CTRL + A keyCode?这种方法的缺点是必须控制一切并注意重新渲染。
我更喜欢 CSS 解决方案,但欢迎提出任何想法。
提前致谢。
@EDIT: 我发现了这个糟糕的解决方案,但可以正常工作:
$(document).keydown(function(objEvent) {
if (objEvent.ctrlKey) {
if ((objEvent.keyCode === 65) || (objEvent.keyCode == 97)) {
if ($(objEvent.target).not("input").disableTextSelect().length) {
return false;
}
}
}
});
【问题讨论】:
-
keypress不会抓住 CTRL 但keydown应该可以工作。 -
您是要允许 Ctrl+A,还是不允许 Ctrl+A?
-
禁止
<body>并允许在<input>内 -
问题不清楚。您希望仅使用 Ctrl+A 选择文本吗?
-
你到底为什么要这样做?尝试规避基本浏览器行为不是您的事。
标签: javascript css html events