Tengo el siguiente fila de la tabla como una plantilla de script en KnockoutJs:

    <script id="inboxTemplate" type="text/html">           
    <tr data-bind="click: function() { viewInboxModel.selectAction($data); }">                                 
        <td>...</td>                 
        <td>${ CreateDate }</td>               
        <td data-bind="click: function(e){ e.preventDefault();viewInboxModel.clearAction($data); }"><img src="/Content/images/delete.png" height="16px" width="16px"> </td>
    </tr>            
    </script>

El problema es que cuando hago clic en el botón eliminar, que también se está ejecutando el selectAction() método. He intentado usar el correo.preventDefault() en ambos selectAction haga clic en el controlador y el clearAction() clicker controlador fue en vano. Existe de todos modos KnockoutJs puede prevenir la fila subyacente a partir de ahora, si se hace clic en el botón eliminar se hace clic?

InformationsquelleAutor jaffa | 2011-11-28

2 Comentarios

  1. 28

    Si usted tiene jQuery que se hace referencia, a continuación, puede llamar de forma segura e.stopImmediatePropagation(); en el controlador, como se pasa el jQuery objeto de evento. Si usted no está usando jQuery, entonces usted todavía puede hacer algo como:

    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();

    http://jsfiddle.net/rniemeyer/mCxjz/

    • En su jsFiddle, el «dos», haga clic en controlador no está correctamente detener el caso de la propagación de la «uno» haga clic en controlador en mi versión actual de Chrome.
    • este violín hace referencia a la última KO de github, sino que fue creado antes de KO 2.0. En KO 2.0, hubo un cambio de hora para pasar los datos como el primer argumento al controlador de eventos y el evento de la segunda. El violín es actualizado ahora el uso de la firma correcta.
    • En KO 2.1.0 (y tal vez otras versiones…), puede utilizar el clickBubble: falso. Ex.: <td data-bind=»haga clic en: myFunction, clickBubble: false»> </td> Ver: knockoutjs.com/documentation/click-binding.html

Dejar respuesta

Please enter your comment!
Please enter your name here