Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Chrome on Android doesn't update input data bindings on keyboard input properly #5373

Closed
@lingz

Description

@lingz

Using Chrome on Android 4.2.1 (Nexus 4), I noticed a few bugs with regards to the live data binding to an input field:
#1) First ng-keyup and ng-keydown always return keyCode of 0. ng-keypress doesn't work at all on android.
#2) ng-model databinding doesn't update the data until either the keyboard is dropped, or the space or backspace key is pressed. Other keys don't update the data model.
#3) Bug #2 does not occur on other browsers (dolphin, firefox), but it does happen on other keyboards (swiftkey)

I created a bit of a hacky workaround, where I manually rebind the data on every ng-keyup.

link: (scope, element, attrs) ->
  scope.keyup = ($event) ->
    scope.fieldInfo.value = element.find("input").val()

Though, it can be easily tested & reproduced bug. Go on the angular site with a Nexus 4, and try the basic hello world example, and you'll see the data not updating until the keyboard is released / backspace or spacebar is pressed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions