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 而不是脸书按钮。
这并不是您问题的真正答案,而是您问题的解决方案。
<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 而不是脸书按钮。
这并不是您问题的真正答案,而是您问题的解决方案。