我正在使用Twitter引导程序"TimePicker"小部件。当触发".keydown"事件时,此小部件具有增加/减少时间的行为。
我需要阻止此默认行为。我怎样才能做到这一点?
目前,我尝试直接拦截和阻止html输入元素上的事件。我看到.keydown事件被拦截和阻止,但TimePicker.keydown事件仍然会触发:
$('#timeInput').keydown(function (e) {
var keyCode = e.keyCode || e.which,
arrow = { up: 38, down: 40 };
switch (keyCode) {
case arrow.up:
window.debug.info("Key Up prevented");
event.preventDefault();
break;
case arrow.down:
window.debug.info("Key Down prevented");
event.preventDefault();
break;
}
});
我可以覆盖"TimePicker"控件的默认行为吗?
您可以随时删除keydown行为:
$('#timeInput').unbind('keydown');
或者在小部件初始化之后:
$('#timeInput').timepicker(options).unbind('keydown');
当您发送名为e
的event
时,只需更改以下内容:
event.preventDefault();
到:
e.preventDefault();