我刚刚开始使用 jquery 移动自定义主题而不是默认主题之一。很多问题...但当前的一个问题是动态创建的按钮无法按预期工作。
我有一些动态 html 通过 $("#container").append(...) 注入(inject)
<div>
<a class="view-it" data-role="button" href="">View</a>
</div>
因为它是动态的,所以我需要这样做
$("*[data-role='button']").button();
让它初始化。
虽然我的按钮现在看起来像一个按钮,但 anchor 仍然看起来像一个超链接,并且单击事件仅在单击按钮内的超链接时触发,而不是在按钮本身的其他区域上触发。
有什么想法吗?
更新:
如果我使用像这样的 div 而不是 anchor
<div class="view-it" data-role="button">
View
</div>
现在可以正确显示,但仍然无法响应整个按钮表面的点击...仅在文本周围(+一点边距)
最佳答案
data-role=button
已弃用,因此您需要手动添加类,并且即使动态附加它们也不需要任何手动增强。 .button()
用于<input type=button>
仅。
您的解决方案如下:
var Btn = '<a href="#" class="ui-btn ui-btn-Custom ui-btn-icon-Position ui-icon-Name">Button</a>';
$(".selector").append(Btn);
ui-btn-Custom
:是主题样本,即ui-btn-a
ui-btn-icon-Position
:图标的位置,左,右,上,下或无文本,即ui-btn-icon-left
ui-icon-Name
:图标的图像,即ui-icon-home
关于JQuery Mobile 自定义主题按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078664/