防止jQuery小部件事件

时间:2013-08-22 13:59:14

标签: javascript jquery jquery-widgets

我正在使用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”控件的默认行为吗?

2 个答案:

答案 0 :(得分:2)

您可以随时删除keydown行为:

$('#timeInput').unbind('keydown');

或在窗口小部件初始化之后:

$('#timeInput').timepicker(options).unbind('keydown');

答案 1 :(得分:0)

当您发送名为event的{​​{1}}时,只需更改此内容:

e

到那个:

event.preventDefault();