代码之家  ›  专栏  ›  技术社区  ›  psychotik

jqueryui可选插件:当div溢出时使滚动条不可选

  •  9
  • psychotik  · 技术社区  · 15 年前

    我有一个div overflow: auto;

    当div溢出并出现一个滚动条时,滚动条本身变为可选择的,因此滚动不起作用。在FF/Chrome中,我可以滚动div,但是我得到了可选择的轮廓。在Safari中,滚动条根本不会启动,因为点击是由Selective的处理程序拾取的。

    我是否可以使用选择器将滚动条添加到“取消”项目列表中?或者用其他方法阻止滚动条的选择?

    下面是如何配置可选div的代码片段:

    $(".mySelectable").selectable( {
        cancel: '.myButton, .notSelectable',
        filter: '.rowSelectable',
        selecting: function(event, ui){
            handleSelection(ui.selecting);
        },
        selected: function(event, ui) {
            handleSelected(ui.selected);
        },
        unselected: function(event, ui) {
            handleUnselected(ui.unselected);
        }
    });
    

    我的HTML看起来像:

    <div class="mySelectable"> <!-- set to auto overflow -->
        <div class="myButton">I can't be selected</div>
        <div class="rowSelectable">I am a selectable row</div>
        ...
    </div>
    

    理想情况下,我正在寻找一些我可以添加到'取消'选项,这有助于跳过滚动条。

    1 回复  |  直到 10 年前
        1
  •  15
  •   psychotik    15 年前

    哦!解决方法很简单——添加另一个div,而不设置它的溢出。 因此,html变成:

        <div class="wrapperDiv"> <!-- set to auto overflow -->
            <div class="mySelectable"> <!-- NOT set to overflow -->
                <div class="myButton">I can't be selected</div>
                <div class="rowSelectable">I am a selectable row</div>
                ...
            </div>
        </div>