Jquery 需要禁用退格按钮
可能重复: 我想禁用退格按钮,除非它位于文本字段中 我正在使用以下代码,但它可以防止包含文本字段的退格功能。。退格只能用于文本字段 请帮我解决这个问题Jquery 需要禁用退格按钮,jquery,html,Jquery,Html,可能重复: 我想禁用退格按钮,除非它位于文本字段中 我正在使用以下代码,但它可以防止包含文本字段的退格功能。。退格只能用于文本字段 请帮我解决这个问题 $(document).on("keydown", processKeyEvents); $(document).on("keypress", processKeyEvents); function processKeyEvents(event) { // Backspace if (event.keyCode == 9) {
$(document).on("keydown", processKeyEvents);
$(document).on("keypress", processKeyEvents);
function processKeyEvents(event) {
// Backspace
if (event.keyCode == 9) {
// myTextBox is id of the valid textbox
if ($("*:focus") != $("#myTextBox")) {
event.preventDefault();
}
}
}
您不能像那样比较jQuery对象,您只需要一个键事件,backspace不是键9 使用event.target获取元素怎么样
function processKeyEvents(event) {
// Backspace
if (event.keyCode == 8) {
// myTextBox is id of the valid textbox
if (!$(event.target).is("#myTextBox")) {
event.preventDefault();
}
}
}
为什么不能像这样比较jQuery对象呢?它很好用。唯一的问题是键码,它必须是8而不是9。@ATOzTOA:当您尝试它时,它工作了吗?这可能是因为某个特定的浏览器优化,我认为它不能保证工作良好。即使有某种古怪的特殊情况,无论如何都是更好的。它奏效了:。也许,你是对的,它可能不适用于所有浏览器。@ATOzTOA:你有它作为!=。我是说他们永远不会平等。看,它甚至比不上它自己:@minitechoops,我的坏。。。谢谢你,老兄…谢谢你,穆萨,它的工作正是我所期待的。。。。。。
function processKeyEvents(event) {
// Backspace
if (event.keyCode == 8) {
// myTextBox is id of the valid textbox
if (!$(event.target).is("#myTextBox")) {
event.preventDefault();
}
}
}
$(document).keydown(function(e) {
var elid = $(document.activeElement).hasClass('textInput');
if (e.keyCode === 8 && !elid) {
return false;
};
});