jquery – 如何使用Event.preventDefault与KnockoutJs单击事件处理程序?

前端之家收集整理的这篇文章主要介绍了jquery – 如何使用Event.preventDefault与KnockoutJs单击事件处理程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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>

问题是当我点击删除按钮,它也运行了selectAction()方法。我已经尝试在selectAction点击处理程序中使用e.preventDefault(),并且clearAction()clicker处理程序无效。有没有KnockoutJs可以防止底层行从现在点击,如果删除按钮被点击?

解决方法

如果你有jQuery引用,那么你可以安全地调用e.stopImmediatePropagation();在你的处理程序中,因为它传递了jQuery事件对象。如果你没有使用jQuery,那么你仍然可以做一些事情:
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();

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

猜你在找的jQuery相关文章