event.preventDefault()后如何重新启用默认值 [英] how to re-enable default after doing event.preventDefault()
问题描述
我知道这个确切的问题是这里,但是答案没有为我需要做的工作,我想我会给一些示例代码,并解释一下...
function(event){
//按向上或向右:前进到下一个视频
if(event.keyCode == 40 || event.keyCode == 39){
event.preventDefault();
$(。current)。next()。click();
}
//向下或向左:返回上一个视频
else if(event.keyCode == 38 || event.keyCode == 37){
event.preventDefault();
$(。current)。 prev()。click();
}
}
);
它基本上禁用箭头键用于别的东西,但是做:
$(document).keypress(function(){});
不再启用默认功能...我需要它滚动页面而不必创建一个滚动功能...
任何想法?
谢谢, $ b Matt
我不知道这是正确的处理方法。
一个更好的方法来解决这个问题将是在你的document.keypress指令中进行一些检查..像..
var enableKeys = false;
$(document).keypress(
function(event){
//按向上或向右:提前到下一个视频
if(event.keyCode == 40 || event.keyCode == 39&& enableKeys){
event.preventDefault();
$(。current)。
}
//按向下或向左:返回上一个视频
else if(event.keyCode == 38 || event.keyCode == 37&& enableKeys){
event.preventDefault();
$(。current)。prev()。click();
}
}
);
然后,只要您有任何需要,可以使用hover或其他方法来控制enablekey。 / p>
I know this exact question was asked here, but the answer didn't work for what I needed to do so I figured I'd give some example code and explain a bit...
$(document).keypress(
function (event) {
// Pressing Up or Right: Advance to next video
if (event.keyCode == 40 || event.keyCode == 39) {
event.preventDefault();
$(".current").next().click();
}
// Pressing Down or Left: Back to previous video
else if (event.keyCode == 38 || event.keyCode == 37) {
event.preventDefault();
$(".current").prev().click();
}
}
);
It basically disables the arrow keys to use them for something else, but doing:
$(document).keypress(function () { });
doesn't enable the default function again... I need it to scroll the page without having to create a scroll function for it...
Any ideas?
Thanks,
Matt
I'm not sure this is the right way to handle it.
A better way to approach this problem would be to put some kind of check inside your document.keypress instructions.. like..
var enableKeys = false;
$(document).keypress(
function (event) {
// Pressing Up or Right: Advance to next video
if (event.keyCode == 40 || event.keyCode == 39 && enableKeys) {
event.preventDefault();
$(".current").next().click();
}
// Pressing Down or Left: Back to previous video
else if (event.keyCode == 38 || event.keyCode == 37 && enableKeys) {
event.preventDefault();
$(".current").prev().click();
}
}
);
Then control the enablekeys wherever you feel necessary, either with a hover, or something along those lines.
这篇关于event.preventDefault()后如何重新启用默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!