我的页面上有很多关键事件。有没有办法禁用页面上存在的所有 keyup/keydown/keypressed 事件,而不是单独禁用每个事件。我正在寻找使用 javascript/jquery 的解决方案。
谢谢!!
我的页面上有很多关键事件。有没有办法禁用页面上存在的所有 keyup/keydown/keypressed 事件,而不是单独禁用每个事件。我正在寻找使用 javascript/jquery 的解决方案。
谢谢!!
您可以这样做,但我预计在较大的页面上它可能会非常慢:
$('*').off('keyup keydown keypress');
这将选择页面上的每个元素,然后删除任何绑定到它们的keyup
、keydown
和事件。keypress
如果您想阻止用户使用该backspace键导航到上一页,您可以尝试以下代码:
var inputTags = ['INPUT', 'TEXTAREA'];
$(document).on('keypress', function(e) {
if(e.which === 8 && $.inArray(e.target.tagName, inputTags) === -1)
e.preventDefault();
});
这应该限制退格键的使用,除非焦点是可以输入文本的输入元素(例如 an<input type="text">
或 a <textarea>
)。
看看这个工作演示。
尝试
$(document).find('*').off('keyup keydown keypressed');
$(document).ready()
在页面上所有加载的 JS 之后(</body>
例如,在标记之前),您应该将其放入块中。
$('*').unbind('keyup keydown keypress')
你可以使用 preventDefault() 函数来解决它
对我来说,这个组合是:
开启按键事件
$(document).keypress(function(){
// Code
});
为了关闭这个事件,我使用了:
$(document).off('keypress');
$(elem).off('keypress.jstree')
我最近也在为此苦苦挣扎,因为我正在向树节点添加编辑功能。通过查看源代码,我注意到有一个事件keypress.jstree
绑定了 500 毫秒的超时。
只需在初始化树后添加上述off
绑定即可立即解决我的所有问题!这既适用于静态树结构,也适用于加载了 ajax 数据的树。我目前使用的版本是 3.3.5
希望这可以帮助。
此代码使用 substr 删除 TextBox2 中按下的最后一个键。
`$("#TextBox2").val($("#TextBox2").val().substr(0, ($("#TextBox2").val().length-1)));`
//removes last letter pressed.