jQuery Mobile 按钮

jQuery Mobile 按钮(Buttons)详解

jQuery Mobile 的 按钮 是最常用组件之一,支持 触控优化、自动样式、图标、内联、角标 等特性。
无需写 JS,只需 HTML + data-* 属性即可。


1. 基本按钮类型

类型写法效果
链接按钮<a href="#" class="ui-btn">链接</a>可点击区域大,推荐
表单按钮<button>按钮</button>自动增强
输入按钮<input type="button" value="输入">自动增强
提交按钮<input type="submit" value="提交">表单用
<a href="#" class="ui-btn">链接按钮</a>
<button class="ui-btn">原生按钮</button>
<input type="button" value="输入按钮">
<input type="submit" value="提交">

2. 按钮样式(ui-btn-*

类名效果
ui-corner-all圆角(默认)
ui-btn-inline内联显示(不占整行)
ui-btn-icon-left图标在左
ui-btn-icon-right图标在右
ui-btn-icon-top图标在上
ui-btn-icon-bottom图标在下
ui-btn-icon-notext只显示图标(无文字)
ui-shadow阴影
ui-mini小号按钮
<a href="#" class="ui-btn ui-btn-inline ui-corner-all ui-shadow ui-mini">
  小内联按钮
</a>

3. 内置图标(ui-icon-*

jQuery Mobile 提供 50+ 矢量图标,无需图片。

常用图标类名
首页ui-icon-home
返回ui-icon-back
搜索ui-icon-search
删除ui-icon-delete
菜单ui-icon-bars
箭头右ui-icon-arrow-r
箭头左ui-icon-arrow-l
星标ui-icon-star
<a href="#" class="ui-btn ui-btn-icon-left ui-icon-home">首页</a>
<a href="#" class="ui-btn ui-btn-icon-right ui-icon-search">搜索</a>
<a href="#" class="ui-btn ui-btn-icon-top ui-icon-star">收藏</a>
<a href="#" class="ui-btn ui-btn-icon-notext ui-icon-delete">删除</a>

4. 主题与颜色(data-theme / ui-btn-a

主题类名
默认(灰)无(或 ui-btn-a
深色ui-btn-b
自定义data-theme="a"
<a href="#" class="ui-btn ui-btn-b">深色按钮</a>
<a href="#" class="ui-btn" data-theme="a">主题 A</a>

5. 按钮组(横向/纵向)

横向按钮组(data-role="controlgroup" + data-type="horizontal"

<div data-role="controlgroup" data-type="horizontal">
  <a href="#" class="ui-btn ui-btn-icon-left ui-icon-home">首页</a>
  <a href="#" class="ui-btn ui-btn-icon-left ui-icon-star">收藏</a>
  <a href="#" class="ui-btn ui-btn-icon-left ui-icon-gear">设置</a>
</div>

纵向按钮组(默认)

<div data-role="controlgroup">
  <a href="#" class="ui-btn">选项1</a>
  <a href="#" class="ui-btn ui-btn-active">已选</a>
  <a href="#" class="ui-btn">选项3</a>
</div>

6. 完整示例(可直接运行)

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQM 按钮大全</title>
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
  <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>

<div data-role="page">
  <div data-role="header" data-position="fixed">
    <h1>按钮演示</h1>
  </div>

  <div data-role="main" class="ui-content">
    <h3>1. 基础按钮</h3>
    <a href="#" class="ui-btn">链接按钮</a>
    <button class="ui-btn">原生按钮</button>
    <input type="submit" value="提交按钮">

    <h3>2. 内联 + 小号</h3>
    <a href="#" class="ui-btn ui-btn-inline ui-mini">小</a>
    <a href="#" class="ui-btn ui-btn-inline ui-mini">按钮</a>

    <h3>3. 带图标</h3>
    <a href="#" class="ui-btn ui-icon-home ui-btn-icon-left">首页</a>
    <a href="#" class="ui-btn ui-icon-search ui-btn-icon-right">搜索</a>
    <a href="#" class="ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all">×</a>

    <h3>4. 横向按钮组</h3>
    <div data-role="controlgroup" data-type="horizontal" class="ui-responsive">
      <a href="#" class="ui-btn ui-icon-grid ui-btn-icon-left">网格</a>
      <a href="#" class="ui-btn ui-icon-audio ui-btn-icon-left">音乐</a>
      <a href="#" class="ui-btn ui-icon-video ui-btn-icon-left">视频</a>
    </div>

    <h3>5. 纵向按钮组(带选中)</h3>
    <div data-role="controlgroup">
      <a href="#" class="ui-btn">Wi-Fi</a>
      <a href="#" class="ui-btn ui-btn-active">蓝牙</a>
      <a href="#" class="ui-btn">数据</a>
    </div>

    <h3>6. 主题按钮</h3>
    <a href="#" class="ui-btn ui-btn-b">深色主题</a>
  </div>

  <div data-role="footer" data-position="fixed">
    <h4>比利时 © 2025</h4>
  </div>
</div>

</body>
</html>

7. 按钮事件(JavaScript)

<script>
$(document).on("pagecreate", function() {
  $(".ui-btn").on("tap", function() {
    alert("按钮被点击:" + $(this).text());
  });

  // 长按
  $(".ui-btn").on("taphold", function() {
    console.log("长按了!");
  });
});
</script>

8. 最佳实践

建议说明
优先使用 <a class="ui-btn">触控区域更大
图标按钮用 ui-btn-icon-notext节省空间
横向组加 class="ui-responsive"响应式换行
避免过多阴影影响性能
表单按钮用 <input type="submit">语义正确

9. 常见问题

问题解决方案
图标不显示确保 CDN 加载 images/ 目录
按钮太小,难点ui-mini 反之用 ui-btn-inline
横向组换行class="ui-responsive"
点击无反应检查 jQuery 是否先引入

10. 按钮图标速查表(部分)

图标类名用途
首页ui-icon-home主页
返回ui-icon-back返回
箭头右ui-icon-arrow-r下一页
箭头左ui-icon-arrow-l上一页
搜索ui-icon-search搜索
菜单ui-icon-bars汉堡菜单
设置ui-icon-gear设置
删除ui-icon-delete删除
星标ui-icon-star收藏
信息ui-icon-info提示

完整图标列表:https://api.jquerymobile.com/icons/


总结:推荐按钮写法

<!-- 标准导航按钮 -->
<a href="#page2" class="ui-btn ui-btn-icon-right ui-icon-arrow-r ui-corner-all">
  下一页
</a>

<!-- 小图标按钮 -->
<a href="tel:10086" class="ui-btn ui-btn-icon-notext ui-icon-phone ui-mini">打电话</a>

<!-- 横向工具栏 -->
<div data-role="controlgroup" data-type="horizontal">
  <a href="#" class="ui-btn ui-icon-home ui-btn-icon-notext">首页</a>
  <a href="#" class="ui-btn ui-icon-search ui-btn-icon-notext">搜索</a>
  <a href="#" class="ui-btn ui-icon-gear ui-btn-icon-notext">设置</a>
</div>

需要我为你生成:

  • 按钮图标大全 PNG 表
  • 底部固定导航按钮栏(类似微信)
  • 带角标的按钮(如未读消息)

随时告诉我!

文章已创建 2588

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部