gpt4 book ai didi

javascript - Angular Bootstrap Typeahead - 附加到主体 - 卡住

转载 作者:搜寻专家 更新时间:2023-11-01 04:16:47 29 4
gpt4 key购买 nike

当结合路由使用 append to body 时,typeahead 显示卡在 body 上。

typeahead-append-to-body="true"

我使用了 Angular 种子项目和一个简单的 Typeahead 示例并重现了问题:http://plnkr.co/WSNIRKLqOCLqO87jp3an

  • 加载页面
  • 选择“view2”
  • 选择“view1”
  • 在输入框中输入字母“a”
  • 观察附在正文上的预输入显示器
  • 选择 View 2
  • 观察显示仍然附着在 body 上

我试过的所有浏览器都会出现问题。

我看到文档的点击绑定(bind)触发,但如果页面之前已路由到,则不会调用 dismissClickHandler。这意味着它第一次运行良好,但是当您返回到之前访问过的页面时,它永远不会启动 dismissClickHandler。

https://github.com/angular-ui/bootstrap/blob/master/src/typeahead/typeahead.js

// Keep reference to click handler to unbind it.
var dismissClickHandler = function (evt) {
if (element[0] !== evt.target) {
resetMatches();
scope.$digest();
}
};

$document.bind('click', dismissClickHandler);

originalScope.$on('$destroy', function(){
$document.unbind('click', dismissClickHandler);
});

var $popup = $compile(popUpEl)(scope);
if ( appendToBody ) {
$document.find('body').append($popup);
} else {
element.after($popup);
}

有什么想法吗?

最佳答案

请注意,在撰写本文时,使用最新版本的 Angular (1.4.7) 和 Angular UI Bootstrap (0.14.3) 已修复此问题。因此,我关闭了 https://github.com/angular-ui/bootstrap/issues/2551 .

关于javascript - Angular Bootstrap Typeahead - 附加到主体 - 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25108068/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com