Javascript/AngularJS: 如何让点击事件触发父级?

Javascript/AngularJS: How do I make click event trigger parent?

<div id="fb-button-container" style="width:20%; margin:auto;"  data-ng-show="!isLoggedIn" data-ng-click="checkFacebookLoginState()">
    <div class="fb-login-button"  data-max-rows="1" data-size="medium" data-show-faces="false" data-auto-logout-link="false">Login with Facebook</div><!--data-ng-disabled="!facebookReady"-->
</div>

我有这个代码。我正在使用 Facebook 登录插件。

我遇到的问题是,如果我将 data-ng-click 直接放在 fb-login-button 点击事件上未触发(可能是因为默认情况下覆盖了 Facebook 的点击事件)。

所以我把它放在父级中。但是这样我必须从按钮点击 outside 来触发它。

我想知道:有没有办法强制 "backpropagation" 从子 (fb-login-button) 到父 (fb-button-container) 的点击事件)?

提前致谢

一种相当愚蠢的方法是在父元素中使用另一个元素,它将充当主触发器。在checkFacebookLoginState()里面,监听点击事件,需要的时候再点击隐藏的fb登录按钮。

<div id="fb-button-container" style="width:20%; margin:auto;"  data-ng-show="!isLoggedIn">
    <div class="fb-login-check" data-ng-click="checkFacebookLoginState()"></div>
    <div class="fb-login-button hidden"  data-max-rows="1" data-size="medium" data-show-faces="false" data-auto-logout-link="false">Login with Facebook</div>
</div>

您可以在它前面放置一个 div Facebook 按钮的大小和形状,方法是给它一个更高的 z-index,这样他们就会点击您的 div 而不是脸书按钮。

这并不是您问题的真正答案,而是您问题的解决方案。