jQuery 中 bootstrap-select 的停止传播

stopPropagation for bootstrap-select in jQuery

我有一个 table 可以在单击该行时突出显示该行。我将 silvio moreto 的 Bootstrap-select 放在一行中,但是当我 select 下拉菜单时,会执行行突出显示。我怎样才能避免这种情况?

JSFiddle:http://jsfiddle.net/xjmf8qqt/(不确定为什么行突出显示在这里不起作用,但它在本地运行良好)

当我执行以下操作时,下拉列表中断:

$('.bootstrap-select').on('click', 'button', function(event) {
    event.stopPropagation();
});
    $( '#resultTable' ).delegate( 'tr', 'click', function ( e ) {
        if ( $( e.target ).is( 'tr' ) || $( e.target ).is( 'td' )) {
            $(this).toggleClass('warning');
            var checkbox = $(this).find('input[type=checkbox]');
            $(checkbox).prop("checked", !checkbox.prop("checked"));
        } else if($(e.target).is( ':checkbox' )) {
            $(e.target).closest('tr').toggleClass('warning');
        }else {
                console.log("select " +e.target);
        }
});

Fiddle 同样。您需要确保您的 table 中的所有事件都有一个事件处理程序。所以你需要检查发生点击事件的目标,因为你使用的是 bootstrap select,你可以点击它创建的 span 或按钮。如果两者都没有点击,则突出显示该行。

编辑 - 更新 fiddle。这里一切正常。