在jquery-pjax AJAX调用之后,Bootstrap 4工具提示停止工作

时间:2017-11-08 03:29:25

标签: javascript ajax bootstrap-4 pjax

我是javascript的新手,可以使用你的帮助。第一次加载PJAX页面时,我的工具提示有效:

$(document).on('pjax:start', function(event) {
$('[data-toggle="tooltip"]').tooltip('dispose');
});

除非我执行以下操作,否则它们会被卡住:

create table USER_PROFILE 
(
     email varchar(24), 
     name varchar(24), 
     birthday char(11), 
     major varchar(24), 
     username varchar(24), 
     PRIMARY KEY (email)
);

create table COURSE 
(
     courseID number, 
     cName varchar(24), 
     instructor varcahr(24), 
     PRIMARY KEY(courseID)
);

create table USER_COURSE 
(
     email varchar(24), 
     courseID number, 
     PRIMARY KEY(email, courseID), 
     FOREIGN KEY (email) REFERENCES USER_PROFILE (email), 
     FOREIGN KEY (courseID) REFERENCES COURSE (courseID)
);

我试图在pjax:end或pjax上重新初始化它们:完全没有运气。如果我徘徊了很长时间,我会得到一个奇怪的工具提示,但不是一个自举工具提示。

如何在XHR完成后重新安装工具提示?

Bootstrap v4.0.0-beta.2 https://v4-alpha.getbootstrap.com/components/tooltips/

https://github.com/defunkt/jquery-pjax

2 个答案:

答案 0 :(得分:2)

我在我的pjax容器#main之外使用了一个脚本块。当我将下面的代码移动到容器内返回的最下面的脚本块的底部时,生活是美好的。当我使用键盘快捷键进行AJAX导航或单击工具提示复选框时,工具提示不会卡住。当我第一次加载页面时以及当我使用AJAX到达页面时,工具提示是一个引导工具提示。 (我不确定我是否需要关闭()的电话,但不应该受伤。)

$('[data-toggle="tooltip"]').tooltip();
$(document).off('pjax:start');
$(document).on('pjax:start', function(event) {
    $('[data-toggle="tooltip"]').tooltip('dispose');
});

答案 1 :(得分:0)

以下是否有效?

$(document).ready(function() {
  $(document).on('pjax:success', 'a[data-pjax]', function(event) {
    $('[data-toggle="tooltip"]').tooltip('dispose');
    $('[data-toggle="tooltip"]').tooltip();    
  });
  $(document).pjax('a', '#main', {cache: false});
});