阻止jQuery小部件事件

Prevent jQuery widget event

本文关键字:事件 小部 jQuery 阻止      更新时间:2023-09-26

我正在使用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');

当您发送名为eevent时,只需更改以下内容:

event.preventDefault();

到:

e.preventDefault();