向 ColVis 列表项添加点击事件
Adding a click event to the ColVis list items
我正在开发一个基于网络的工具,使用 asp.net 和 Javascript 以及 Jquery 来实现各种表格并使它们对用户友好。为此,我使用可爱的 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">
因此将点击事件侦听器的创建与按下此按钮联系起来解决了问题。
$(".ColVis_MasterButton").click(function () {
$("ul").on("click", "li", function () {
Cookies.set('columnsWebform', readingHeaders());
})
});
使用$('ul')
.
目前您使用 .ul
而不是 ul
标签来选择 class ul
。
这是可行的解决方案。首先,选择器需要用于标签 ul 而不是 class ul。
$("ul").on("click", "li", function () {
Cookies.set('columnsWebform', readingHeaders());
})
但这并没有解决全部问题。
直到按下按钮,列表的 HTML 代码才生成。
<button class="ColVis_Button ColVis_MasterButton">
因此将点击事件侦听器的创建与按下此按钮联系起来解决了问题。
$(".ColVis_MasterButton").click(function () {
$("ul").on("click", "li", function () {
Cookies.set('columnsWebform', readingHeaders());
})
});
我正在开发一个基于网络的工具,使用 asp.net 和 Javascript 以及 Jquery 来实现各种表格并使它们对用户友好。为此,我使用可爱的 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">
因此将点击事件侦听器的创建与按下此按钮联系起来解决了问题。
$(".ColVis_MasterButton").click(function () {
$("ul").on("click", "li", function () {
Cookies.set('columnsWebform', readingHeaders());
})
});
使用$('ul')
.
目前您使用 .ul
而不是 ul
标签来选择 class ul
。
这是可行的解决方案。首先,选择器需要用于标签 ul 而不是 class ul。
$("ul").on("click", "li", function () {
Cookies.set('columnsWebform', readingHeaders());
})
但这并没有解决全部问题。 直到按下按钮,列表的 HTML 代码才生成。
<button class="ColVis_Button ColVis_MasterButton">
因此将点击事件侦听器的创建与按下此按钮联系起来解决了问题。
$(".ColVis_MasterButton").click(function () {
$("ul").on("click", "li", function () {
Cookies.set('columnsWebform', readingHeaders());
})
});