[英]Google Material Design: mdl-menu does not react on dynamical load
I'd like to insert a button and a mdl-menu as a tooltip in the html page. 我想在html页面中插入一个按钮和一个mdl菜单作为工具提示。
Here is a sample Javascript code: 这是一个示例Javascript代码:
$(function(){
$("#dynamic").html('<button id="share-post-2" class="mdl-button mdl-button--icon mdl-button--colored">\
<i class="material-icons">share</i></button>\
<ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu" for="share-post-2">\
<li class="mdl-menu__item">Facebook</li>\
<li class="mdl-menu__item">Twitter</li>\
<li class="mdl-menu__item">Pinterest</li>\
</ul>');
});
And the html is simple: 而html很简单:
<div id='dynamic'></div>
The problem is that the menu will not show up on button click as expected. 问题是菜单将不会按预期显示在按钮单击上。 However, if I hard code it in html, it works.
但是,如果我用html对其进行硬编码,则可以使用。
The question is how to make the mdl-menu pop up on button click. 问题是如何使单击按钮时弹出MDL菜单。 Thanks!
谢谢!
I found this is an issue in Github 我发现这是Github中的问题
The workaround I used to make it work is to use componentHandler.upgradeDom();
我用来使其工作的解决方法是使用
componentHandler.upgradeDom();
to update all the DOM binding and event listeners. 更新所有DOM绑定和事件侦听器。
$(function(){
$("#dynamic").html('<button id="share-post-2" class="mdl-button mdl-button--icon mdl-button--colored">\
<i class="material-icons">share</i></button>\
<ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu" for="share-post-2">\
<li class="mdl-menu__item">Facebook</li>\
<li class="mdl-menu__item">Twitter</li>\
<li class="mdl-menu__item">Pinterest</li>\
</ul>');
// Expand all new MDL elements
componentHandler.upgradeDom();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.