【发布时间】:2014-12-10 10:10:06
【问题描述】:
这是我的 JQuery 代码,它(类切换)不起作用..
我假设它是 this 的上下文,但 console.log() 显示它是正确的元素。
// .dynamic-content AND ul are static. the event is delegated!
$(".dynamic-content ul").on(
'click',
".point_element",
function(eve){
$(this).css("border","2px solid green"); // works
$(this).toggleClass("selected"); // not working
$(this).prop("class","selected"); // works
$("input", this).trigger('click'); // works
}
);
HTML:
<div class="dynamic-content">
<ul>
<li id="point_element_2877" class="element point_element">
<fieldset><label><input value="po7" type="checkbox"></label></fieldset>
<div class="inlined">
<table>
<tr><td>some text</td></tr>
</table>
</div>
</li>
...
...
【问题讨论】:
-
.dynamic-content ul元素是否也是动态创建的 -
不,动态内容只有 ul 的。事件被触发并且第二行(输入的
click事件正在工作) -
@A.Wolff 类未切换
-
我猜是因为输入子气泡上的点击事件,所以测试它删除触发器。如果您的目标是选中/取消选中复选框,请使用 prop() 进行设置。如果您希望在复选框上触发任何绑定处理程序,请改用 triggerHandler ()
-
@A.Wolff 正确!我的错。它可以工作,但会立即启动。谢谢。这就是答案
标签: jquery toggleclass jquery-on