如何从“e.stopPropagation()”中排除锚点

时间:2013-09-26 06:04:18

标签: javascript jquery css html-lists stoppropagation

$pageslide.click(function(e) {
e.stopPropagation();
});

这可以防止#pageslide ID或类在点击时滑动,如何排除某些元素被阻止,在这种情况下我想要排除<a></a><li></li>。提前谢谢。

2 个答案:

答案 0 :(得分:2)

使用jQuery的过滤方法。

$pageslide.filter('a li').click(function(e) {
    e.stopPropagation();
});

答案 1 :(得分:2)

事件对象的

.target属性是指事件的目标,你可以读取这个属性:

$pageslide.click(function(e) {
   if ( $.inArray(e.target.localName, ['li', 'a']) < 0 ) {
      e.stopPropagation();
   }
});

或使用.closest()方法:

if ( $(e.target).closest('a').length === 0 ) {
   e.stopPropagation();
}