首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery toggleClass() on on()不工作

jquery toggleClass() on on()不工作
EN

Stack Overflow用户
提问于 2014-12-10 10:10:06
回答 2查看 277关注 0票数 1

这是我的JQuery代码,它(类切换)不工作。

我假设这是它的上下文,但是console.log()表明它是正确的元素。

代码语言:javascript
复制
// .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:

代码语言:javascript
复制
<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>
...
...
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-14 07:55:22

正如@A.Wolff在他的评论中提到的,答案是代码工作得很好。

问题是触发的事件正在取消对元素的检查。

票数 0
EN

Stack Overflow用户

发布于 2014-12-10 10:29:09

如果您的内容是动态生成的,那么您必须将事件委托给最近的静态父级或document,在下面的一个:

代码语言:javascript
复制
$("staticParentID/Class").on('click', ".point_element", function (eve) { // static parent

或者这个:

代码语言:javascript
复制
$(document).on('click', ".point_element", function (eve) { // delegated to document

语法是:

代码语言:javascript
复制
$(delegatedParent).on(event, selector, callbackFn);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27398227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档