我刚刚开始使用jquery移动自定义主题而不是默认主题之一。很多问题...但当前的问题是动态创建的按钮无法按预期工作。
我有一些动态html,我通过$("#container").append(...)注入
<div>
<a class="view-it" data-role="button" href="">View</a>
</div>
因为它是动态的,我需要做
$("*[data-role='button']").button();
以使其初始化。
虽然我的按钮现在看起来像一个按钮,但锚点仍然看起来像一个超链接,并且单击事件仅在单击按钮内的超链接时触发,而不是在按钮本身的其他区域触发。
有什么想法吗?
更新:
如果我使用这样的div 而不是锚点
<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
演示