문제

I'm using Twitter bootstrap "TimePicker" widget. This widget has behavior of increasing/decreasing time when ".keydown" event is fired.

I need to block this default behavior. How I could achieve that?

Currently I try to intercept and block events on html input element directly. I see that .keydown events are intercepted and prevented, but TimePicker .keydown event still fires:

    $('#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;
        }
    });

Can I override "TimePicker" control default behavior?

도움이 되었습니까?

해결책

You can remove keydown behavior anytime doing:

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

or right after the widget initialization:

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

다른 팁

As you're sending the event named e, just change this:

event.preventDefault();

to that:

e.preventDefault();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top