我们刚刚从jquery mobile beta 2更新为rc2。我们有一个自定义按钮,我们不希望jqm初始化(添加额外的标记)所以我们使用了这个:
<button id="buttonid" data-role="none"></button>
这很有效,但现在有了更新,它实际上正在初始化按钮。我没有在发行说明或文档中看到任何更新。我错过了什么吗?
更新后的标记:
<div data-theme="c" class="ui-btn ui-btn-corner-all ui-shadow ui-btn-down-c ui-btn-up-c" aria-disabled="false">
<span class="ui-btn-inner ui-btn-corner-all" aria-hidden="true">
<span class="ui-btn-text"></span>
</span>
<button id="buttonid" data-role="none" class="ui-btn-hidden" aria-disabled="false"></button>
</div>
更新 菲尔指出,我的问题难以重现。可能是我的代码的东西,但简单的更改版本为我创建行为似乎很奇怪。这是我首先从示例中删除的附加标记:
<ul class="item" data-role="listview" data-inset="true">
<li data-role="list-divider">Something</li>
<li>
<a href="#detailPage?id=123"></a>
<div class="block_container" data-role="none">
<div class="block block_small">
<button data-role="none" id="check-123" class="check" data-id="something"></button>
</div>
<div class="block block_small assignment">
<button data-role="none" id="assign-123" class="assignmentoverlay"></button>
</div>
<div class="block">
<h3>
Something
</h3>
<p>
lorem..
</p>
</div>
</div>
</li>
更新2
我发现了问题所在。我正在从javascript填充我的列表。最后我打电话给trigger("create")
。这将增强我列表中的所有元素,即使是那些data-role="none
的元素。
jsfiddle重现问题 - http://jsfiddle.net/V2xAX/9/
更新问题标题
更新3 希望最后一次更新。我们通过以下方式让它发挥作用:
在列表中调用trigger("create")
时,每个元素都会得到增强。我们不希望这样。
在持有jquery移动页面的页面元素上调用trigger("create")
时,只会增强没有data-role="none"
的元素。这是我们想要的行为。
测试链接 - http://jsfiddle.net/V2xAX/16/
知道为什么会发生这种情况会很有趣:)