在 event.prenventdefault 之后将事件恢复为 jquery 中的默认操作
restore event to default action in jquery after event.prenventdefault
我使用 this answer 来禁用 arrow
和 pgdown
以及 pgup
键操作(滚动)。但我需要在 jquery
代码中调用 event.preventDefault()
后将此键的操作设置为默认值(滚动)。
我该怎么做。
如果没有更好的细节就很难回答,但如果我正确理解你拥有的东西,如果你有可以跟踪状态的东西,当你希望阻止这种行为并让它失败时,你可以使用 preventDefault:
伪代码:
var state = {
blockArrows: true;
}
$('#my_widget').keydown(function(e) {
if(state.blockArrows) {
e.preventDefault();
}
// ...else allow the event to do its normal thing....///
});
要反转preventDefault(),需要解绑原来的action,然后重新调用。
$(document).keydown(function(e) {
e.preventDefault()
// Do stuff until you need to recall the default action
$(this).unbind('keydown').keydown()
})
How to unbind a listener that is calling event.preventDefault() (using jQuery)?
我使用 this answer 来禁用 arrow
和 pgdown
以及 pgup
键操作(滚动)。但我需要在 jquery
代码中调用 event.preventDefault()
后将此键的操作设置为默认值(滚动)。
我该怎么做。
如果没有更好的细节就很难回答,但如果我正确理解你拥有的东西,如果你有可以跟踪状态的东西,当你希望阻止这种行为并让它失败时,你可以使用 preventDefault:
伪代码:
var state = {
blockArrows: true;
}
$('#my_widget').keydown(function(e) {
if(state.blockArrows) {
e.preventDefault();
}
// ...else allow the event to do its normal thing....///
});
要反转preventDefault(),需要解绑原来的action,然后重新调用。
$(document).keydown(function(e) {
e.preventDefault()
// Do stuff until you need to recall the default action
$(this).unbind('keydown').keydown()
})
How to unbind a listener that is calling event.preventDefault() (using jQuery)?