这是我的JQuery代码,它(类切换)不起作用。
我假设它是这个的上下文,但是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>
...
...
答案 0 :(得分:0)
如果您的内容是动态生成的,那么您必须将事件委托给最近的静态父级或document
尝试下面的一个:
$("staticParentID/Class").on('click', ".point_element", function (eve) { // static parent
或者这个:
$(document).on('click', ".point_element", function (eve) { // delegated to document
语法是:
$(delegatedParent).on(event, selector, callbackFn);
答案 1 :(得分:0)
正如@ A.Wolff在评论中提到的,答案是代码工作得很好 问题是触发事件,取消选中元素..