我正在使用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/