2014-02-27 163 views
2

我刚开始使用jquery移动自定义主题而不是其中一个默认值。很多问题......但目前的问题是动态创建的按钮无法按预期工作。JQuery Mobile自定义主题按钮

我有一些动态的HTML我通过$( “#集装箱”)注射。追加(...)

  <div> 
       <a class="view-it" data-role="button" href="">View</a> 
      </div> 

因为它是动态的,我需要做的

$(” * [数据角色= '按钮']“)按钮()。

让它初始化。

虽然我的按钮现在看起来像一个按钮,但锚点仍然看起来像超链接,点击事件只在点击按钮内部的超链接时触发,而不在按钮本身的其他区域触发。

任何想法?

更新:

如果我使用一个div像这样反而锚

  <div class="view-it" data-role="button"> 
       View 
      </div> 

它显示正确的现在,但还是点击整个按钮的表面不回应...只有围绕文字(+一小段边距)

+0

您正在使用哪个版本? – Omar

+0

1.4.1 jquery mobile – Jeff

回答

1

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:图标的位置,左,右,上,下或NOTEXT即ui-btn-icon-left

  • ui-icon-Name:图标的图片即ui-icon-home

Demo

+0

所以我实际上需要添加每个类,而不是说每个按钮的data-role ='button'? – Jeff

+1

@jeff是的,确切地说。它已被弃用,将在1.5中删除。你会注意到,没有'span'包裹在锚标记中。这是直接和更快的处理。 – Omar

+1

前进一步,四后退 – Jeff