javascript - polymer 纸对话框未居中

标签 javascript html polymer polymer-1.0 paper-elements

在我的 polymer 应用程序中,当我使用 iPhone 打开纸质对话框时,它没有居中,这与使用桌面 Mac 或 PC 使用 Chrome 或 Safari 打开它相反。

我正在动态构建 paper-dialog 元素并使用 javascript 将其放置在 DOM 模板中,然后调用 open():

var d = document.createElement('paper-dialog');
d.innerHTML = "<h2>Dialog Title</h2>"
         "<p>some content</p>"+
         '<div class="buttons">'+
         "<paper-button >More Info...</paper-button>"+
         "<paper-button dialog-dismiss>Decline</paper-button>"+
         "<paper-button dialog-confirm autofocus>Accept</paper-button>"+
         "</div>";
var b = Polymer.dom(this.root).appendChild(d);
b.open();

我没有使用任何特殊样式或媒体查询。 我以编程方式添加对话框的原因是因为我有大量不同的对话框消息和不同的内容要在不同的时间显示,并且每个人都应该在不同的屏幕上调用回调,这取决于谁添加了对话框。换句话说,我需要像 angular-material's $mdDialog 那样添加我的对话框,我知道这对 polymer 来说并不是那么微不足道,也许不是预期用途,但就我而言,这就是我所需要的,除非有更好的方法。

请看下面的问题截图

苹果手机: enter image description here

Chrome : enter image description here

最佳答案

问题是我在 var b = Polymer.dom(this.root).appendChild(d); 之后立即调用了 b.open();

由于我是动态添加元素的,所以我应该将 b.open(); 置于 this.async() 调用之下,如 polymer's documentation 中所述对于类似的情况。

同时修复了我的 dialog-manager 中的代码

关于javascript - polymer 纸对话框未居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31478360/

相关文章:

javascript - 在html中使用 "&times"字改成×

html - 动态改变视频播放速度

javascript - :before pseudo-class content in IE10 not working 的宽度

用于访问列表的 Polymer 1.0 数据绑定(bind)选项

javascript - 在 Polymer 中使用 core-ajax 的 CORS 错误

javascript - 如何使用 AXIOS Get 发送日期?

javascript - 从 jQuery 调用选择 HTML 元素 OnChange 事件

java - 在 JavaFX 的 WebView 中使用 JavaScript 设置任意 CSS 规则

php - 单选按钮多选

javascript - 模板 getter 必须在 polmer <google-map> 组件中返回 HTMLTemplateElement