我试图覆盖一个核心 jQuery 事件,在这种情况下是keydown
事件。我的目的是在我的 Web 应用程序中保持,和的preventDefault()
功能并保持热键的一致性。Left(37)
Up(38)
Right(39)
Down(40)
我正在使用此处提供的解决方案来解决条件 charCode preventDefault 问题。
出于某种原因,我的函数覆盖根本没有触发,我无法解决这个问题。恐怕在过去的 30 分钟内,这个问题导致了一些脱发。有人有办法吗?
/*
Modify Keydown Event to prevent default PageDown and PageUp functionality
*/
(function(){
var charCodes = new Array(37,38,39,40);
var original = jQuery.fn.keydown;
jQuery.fn.keydown = function(e){
var key=e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
alert('now why is my keydown mod not firing?');
if($.inArray(key,charCodes))
{
alert('is one of them, do not scroll page');
e.preventDefault();
return false;
}
original.apply( this, arguments );
}
})();