我正在使用asp.net和Javascript与Jquery一起开发基于Web的工具,以实现各种表并使其易于使用。为此,我将可爱的Datatables插件及其扩展名ColVis用于隐藏所选列的选项。我现在想要做的是添加另一个.click事件,以列出由ColVis生成的列表中的项目,但是我确实很难用Jquery选择用于附加功能的正确元素。

这是ColVis生成的HTML。

<ul class="ColVis_collection ui-buttonset ui-buttonset-multi" style="...">
    <li class="colVis_select ui-button ui-state-default">...</li>
    <li class="colVis_select ui-button ui-state-default">...</li>
    ...
</ul>


等等。

我试过的是:

 $(".ul").on("click","li" , function (event) {
                Cookies.set('columnsWebform', readingHeaders());
            })


尽可能地笼统。但是我仍然无法响应点击。

任何帮助将不胜感激。

解决方案编辑

正如乔尔指出的那样,选择器是错误的。那不是全部问题。直到按下按钮,列表的HTML代码才生成。

<button class="ColVis_Button ColVis_MasterButton">


因此,将clickevent侦听器的创建与该按钮的按下相关联解决了该问题。

 $(".ColVis_MasterButton").click(function () {
            $("ul").on("click", "li", function () {
                Cookies.set('columnsWebform', readingHeaders());
            })
        });

最佳答案

这是可行的解决方案。首先,选择器需要用于标签ul,而不是类ul。

$("ul").on("click", "li", function () {
            Cookies.set('columnsWebform', readingHeaders());
        })


但是,这并不能解决整个问题。
直到按下按钮,列表的HTML代码才生成。

<button class="ColVis_Button ColVis_MasterButton">


因此,将clickevent侦听器的创建与该按钮的按下相关联解决了该问题。

$(".ColVis_MasterButton").click(function () {
        $("ul").on("click", "li", function () {
            Cookies.set('columnsWebform', readingHeaders());
        })
    });

关于jquery - 将单击事件添加到ColVis列表项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31338645/

10-12 15:30