gpt4 book ai didi

javascript - 如何从 javascript 创建 jQuery Mobile 按钮?

转载 作者:行者123 更新时间:2023-11-28 02:45:21 25 4
gpt4 key购买 nike

有没有办法让 jQuery Mobile 将 javascript 生成的链接呈现为按钮小部件,就像加载页面时自动执行的那样?

我有这样的 JavaScript 来动态创建链接:

var ws=document.getElementById('workspace'); // empty <div id="workspace"></div>
ws.innerHTML='<a id="myb" href="foo.php" data-role="button">baz</a>';

当然,它只生成一个普通链接而不是一个按钮,所以我的问题是如何让 jQueryMobile 动态创建按钮,就像如果相同 <a id="myb" href="foo.php" data-role="button">baz</a> 一样。从一开始就出现在页面中?

编辑:

像这样的脚本:

$('#tagspace').html('<a id="myb" data-inline="true" data-ajax="false"
href="boo.php" data-role="button">baz</a>')
.button()
.click(function() { window.location.href=this.href;});

是一个进步。它确实会生成一个按钮(全页宽度),并且该按钮对标签文本之外的点击很敏感。然而,this似乎没有映射到包含预期链接“目的地”的元素。

DOM 结果:

<div aria-disabled="false" class="ui-btn ui-shadow ui-btn-corner-all ui-fullsize
ui-btn-block ui-btn-up-c" data-mini="false" data-inline="false" data-theme="c" data-iconpos="" data-icon="" data-wrapperels="span" data-iconshadow="true" data-shadow="true" data-corners="true"> <span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">baz</span>
</span>
<div aria-disabled="false" class="ui-btn-hidden" id="tagspace"> <a id="myb" data-inline="true" data-ajax="false" href="boo.php" data-role="button">baz</a>

</div>
</div>

所以,它仍然不是同一种按钮。

最佳答案

您可以通过将元素包装在 jQuery 对象中并调用 button() 方法来创建按钮小部件。

$("#workspace").html("<a id='myb' href='foo.php' data-role='button'>baz</a>")
.button();

更新:按钮小部件会阻止链接的默认行为,因此如果您希望恢复该行为,则必须添加一个点击处理程序:

$("#workspace").html("<a id='myb' href='foo.php' data-role='button'>baz</a>")
.button()
.click(function() {
window.location.href = this.href;
});

关于javascript - 如何从 javascript 创建 jQuery Mobile 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11983326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com