2015-03-19 40 views
1

0123xx元素上的ng-click指令的事件即使通过它的同级元素input正在注册。ng-click事件侦听器在单击同级元素时触发

<div class="list list-inset"> 
 
    <label class="item item-input"> 
 
    <button class="button button-small button-icon icon ion-navicon" 
 
      ng-click="toggleLeft();$event.stopPropagation();"></button> 
 
    <input type="text" placeholder="Search"> 
 
    </label> 
 
</div>

点击input元素也在里面的任何地方内触发点击事件。 我该如何解决这个问题?

+0

我没有看到这种行为。也许你需要进一步指定你的问题(提供一个详细的例子,包括额外的样式) – Rouby 2015-03-19 07:19:06

+0

@Rouby问题发生是因为标签内部的元素。 – 2015-03-19 07:28:48

+0

@Rouby它是一样的。标记为重复。 – 2015-03-19 12:50:21

回答

1

将事件侦听器添加到<label>中包含的元素将在该容器内的任何位置触发事件。

angularjs ng-click event of two sibling tag fired, instead of one

<div class="list list-inset"> 
 
    <div class="item item-input"> 
 
    <button class="button button-small button-icon icon ion-navicon" 
 
      ng-click="toggleLeft()"></button> 
 
    <input type="text" placeholder="Search"> 
 
    </div> 
 
</div>

相关问题