阻止JavaScript的冒泡行为

$(function(){

  $('li:has(ul)')   

    .click(function(event){   

      if (this == event.target) {

        if ($(this).children().is(':hidden')) {   

          $(this)

            .css('list-style-image','url(minus.gif)')

            .children().show();

        } else {

          $(this)

            .css('list-style-image','url(plus.gif)')

            .children().hide();

        }

      }

      return false;   

    })

    .css('cursor','pointer')   

    .click();                       

  $('li:not(:has(ul))').css({   

    cursor: 'default',

    'list-style-image':'none'

  });

});

if (this == event.target) {}

这个判断保证event的target属性和this匹配。即在冒泡行为的存在下,保证this与click事件绑定的元素相匹配。避免点击子女结点触发行为 。

你可能感兴趣的:(JavaScript,css)