jquery - 单击外部 jQuery 选择器仍会激活功能

标签 jquery css

按照 JS Riddle 中的以下步骤查看问题:

  1. 转到 http://jsfiddle.net/MjrFC/1/
  2. 在结果区域中单击“测试”一词,这会打开点 1
  3. 您应该只能点击单词 test(point1) 和单词 hey(point2),但是如果您点击 h1 标签,它会转到点 1。

下面的代码

    <div class="contentb">
        <h1>testing hello world</h1>
        <div class="point1">test</div>
    </div>

        point1 = '<div class="contentb"> <h1>Hello</h1><div class="point1"> test</div><div class="point2">Hey</div><h1>World</h1></div>';
        point2 = '<div class="contentb"> <div class="point1"> test</div></div>';

       var className = "Broken";
       $(document).on('click', '.contentb [class]', function () {
           $(this).fadeTo(250, 0.25, function () {
               className = this.className; 
               $('.contentb').html(window[className]); 

               $(this).fadeTo(250, 1.00);

           });
       });

最佳答案

您的 point1point2 变量不应包含 contentb div,因为您将 html 附加到具有类 contentb< 的元素

point1 = '<h1>Hello</h1><div class="point2"> test</div><div class="point2">Hey</div><h1>World</h1>';
point2 = '<div class="point1"> test</div>';

var className = "Broken";
$(document).on('click', '.contentb [class]', function () {
    $(this).fadeTo(250, 0.25, function () {
        className = this.className; 
        $('.contentb').html(window[className]); 

        $(this).fadeTo(250, 1.00);

    });
});

演示:Fiddle

关于jquery - 单击外部 jQuery 选择器仍会激活功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16662778/

相关文章:

javascript - 嵌套对象中匹配键值对的路径

jquery - 如何根据行中单元格之一的内容删除表格行(使用 jQuery)

javascript - 听众被反复添加,但不知道如何添加。我使用 one() 然后使用计时器在每次点击时重新启用它

javascript - jQuery 插件未应用于选择元素

JavaScript:拖放到 TextArea 上时我拖动的图像消失了

html - 无论缩放多少,只有 Firefox 在中间显示 Logo 。 IE 和 Chrome 不读取顶部和底部边距。任何人都知道为什么?

html - Bootstrap 3 - 彼此相邻的面板导致奇怪的顶部边距

javascript - 如果 jquery/javascript 为空,则添加/追加查询字符串

html - 移动响应部分

javascript - Bootstrap-tagsinput 中断 .input-group