【问题标题】:Links within Bootbox modal are not clickableBootbox 模式中的链接不可点击
【发布时间】:2012-04-16 18:22:46
【问题描述】:

我正在尝试在 Twitter 引导模式对话框中加载 Facebook 登录按钮:

$("a.fb-login, .modal a.fb-login").on("click", function(e) {
    e.preventDefault()
    FB.login(function(response) {
    // ...

这对于放置在模式对话框之外的按钮效果很好,但是当元素在对话框中呈现时(从引导框触发),单击链接只会使对话框消失,而不是在新窗口中启动 Facebook 弹出窗口:

// when 401 unauthorized
message = $("#login-form").clone();
bootbox.modal(message)

【问题讨论】:

  • 从模式中单击按钮时是否调用回调?

标签: javascript facebook modal-dialog twitter-bootstrap


【解决方案1】:

我怀疑当您调用 on() 方法时,侦听器只会附加到页面上当前的元素。

如果您希望能够处理新创建元素上的事件而不必重新附加侦听器,请尝试将侦听器附加到整个页面,但使用选择器过滤掉事件,如下所示:

$('body').on('click', 'a.fb-login, .modal a.fb-login', function(e) {
  e.preventDefault()
  FB.login(function(response) {
  // ...

显然,缩小连接听众的范围是一种很好的做法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-02
    • 2017-11-08
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 2018-11-07
    相关资源
    最近更新 更多