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

关于javascript - 防止jQuery小部件事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18382622/

10-12 07:31