div knockout.js ko.observablearray clicktoedit

knockout.js - div - Hasfocus problemas vinculantes con Firefox



focus javascript (1)

Estoy trabajando en una aplicación que utiliza una matriz observable para presentar una tabla editable de información de ID de usuario. La aplicación funciona fantásticamente en Chrome, pero tengo problemas para que funcione con Firefox. Para mis propósitos, estos dos buscadores son los únicos que me preocupan por ahora.

Estoy usando la funcionalidad de "hacer clic para editar" a través de hasfocus binding en knockout, y funciona muy bien con Chrome. Cada vez que se selecciona el nombre de usuario, se puede editar, se muestra un botón para guardar y, al hacer clic en "Guardar", la información se publica como una cadena JSON. Firefox no parece llegar lo suficientemente lejos en el proceso para publicar, y se comporta de manera extraña cuando se elimina el foco.

Hay bastante código, así que preparé este violín para mostrar el problema. Chrome funciona bien, Firefox no tanto.

http://jsfiddle.net/stevehnh/GNssr/

¡Gracias por cualquier ayuda de todas maneras! Espero que sea algo pequeño que me estoy perdiendo.


Después de jugar con esto por un tiempo, descubrí que el problema era que Firefox eliminaba el foco del campo de edición antes de que pudiera hacer clic en el botón "Guardar". Para poder evitarlo, utilicé la extensión del acelerador de aceleración .

throttle para agregar un tiempo de espera de 400 ms antes de que el enlace de editing se actualizara a false . Esto también pareció solucionar el problema con Firefox mostrando tanto el nuevo texto como el campo de entrada al mismo tiempo. He pegado la línea ofensiva y el violín actualizado a continuación:

editing: ko.observable(false).extend({ throttle: 400 }),

http://jsfiddle.net/stevehnh/GNssr/2/