在jQuery拖放之后CSS没有正确更新,但是在Inspector中

时间:2014-11-20 04:18:59

标签: html css google-chrome dom knockout.js

我有这个奇怪的问题,下面黑色容器中的项目被拖到上面的网格中。但是这些项目具有不透明度/橙色外观。单元格的结构有一个容器和里面的项目。容器单元在悬停时具有橙色背景,但是如果我将单元格从黑色容器中快速移动到网格中,那么悬停并不表示它可以正常工作。

现在里面的项目有一个名为“show-game”的类。如果我将此处的不透明度从1切换到0并在Web检查器中切换回1,我会得到A1和A4的所需外观。

我的Chrome浏览器出了什么问题?这不会发生在IE中。似乎风格没有得到刷新。

<td class="item-container draggable-item-container clearfix ui-droppable">
                            <div data-tooltip="" class="item clearfix draggable-active draggable-item show-game ui-draggable tooltip-init" style="background-color: rgb(255, 55, 108);" data-bind="draggableCss: { disabled: $data.Disabled(), matchup: $data.Matchup, invalid: $data.Invalid, current: $data.Current }, draggableGameHandler : { disabled: !$data.Matchup, disabledDrop: $data.Disabled() }, delegatedClick: $root.members.eventSchedule.editGame.open.bind($data, true, ($data.Matchup && $data.Matchup.Type == '@((int)ScheduleType.Pool)'), $parent.Games)">

                            </div>
                        </td>



ko.bindingHandlers.draggableCss = {
        update: function (element, valueAccessor) {

            var values = valueAccessor();

            $(element).toggleClass('ui-droppable-disabled', values.disabled);
            $(element).toggleClass('hide-game', (!values.matchup || !values.matchup.Selected()));
            $(element).toggleClass('show-game', (values.matchup && values.matchup.Selected()) ? true : false);
            $(element).toggleClass('empty', !values.matchup);
            $(element).toggleClass('expand', viewModel.showTeams());

            if (values.editable) {
                $(element).addClass('editable-game');
            }

            if (values.matchup) {

                if (values.matchup.Selected()) {
                    $(element).removeClass('occupied', false);
                }

                if (values.invalid && values.invalid()) {
                    updateElementColors(element, values.matchup.Color, 'invalid');
                }
                else if (values.current && values.current()) {
                    updateElementColors(element, values.matchup.Color, 'current');
                }
                else  {
                    updateElementColor(element, values.matchup.Color, false);
                }

                if (values.matchup.CrossGame)
                    $(element).addClass('cross-game');


            } else if (values.invalid && values.invalid() && !values.disabled) {
                updateElementColors(element, null, 'invalid');
            } else {
                $(element).removeClass('invalid').removeClass('current');
            }
        }
    };

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您使用谷歌浏览器,请打开“检查”选项卡,然后打开选项卡&#34; Computed&#34;。您应该看到应用于此元素的所有css以及它的设置位置。

检查&#34;隐藏&#34; css覆盖规则。

如果您想避免覆盖,请尝试&#34;!important&#34;在css规则中标记。