JqueryUI - 按钮小部件
jQueryUI 提供了 button() 方法来将 HTML 元素(如按钮、输入和锚点)转换为主题按钮,自动管理鼠标在它们上面的移动,所有这些都由 jQuery UI 透明地管理。
为了对单选按钮进行分组,Button 还提供了一个额外的小部件,称为 Buttonset。Buttonset 通过选择一个容器元素(包含单选按钮)并调用 .buttonset() 来使用。
语法
button() 方法有两种使用方式 −
$ (selector, context).button (options) 方法
button (options) 方法声明 HTML 元素应被视为按钮。 options 参数是一个指定按钮行为和外观的对象。
语法
$(selector, context).button (options);
您可以使用 Javascript 对象一次提供一个或多个选项。 如果要提供多个选项,那么您将使用逗号分隔它们,如下所示 −
$(selector, context).button({option1: value1, option2: value2..... });
下表列出了可与此方法一起使用的不同选项 −
序号 | 选项 & 说明 |
---|---|
1 | disabled
此选项停用设置为 true 的按钮。 默认情况下,它的值为 false。 |
2 | icons
此选项指定一个或两个图标将显示在左侧的 button: primary 图标和右侧的辅助图标中。 主图标由对象的 primary 属性标识,secondary 图标由 secondary 属性标识。 默认情况下,它的值为 primary: null, secondary: null。 |
3 | label
此选项指定要在覆盖自然标签的按钮上显示的文本。 如果省略,则显示元素的自然标签。在单选按钮和复选框的情况下,自然标签是与控件关联的 <label> 元素。 默认情况下,它的值为 null。 |
4 | text
此选项指定是否要在按钮上显示文本。 如果指定为 false,则当(且仅当)图标选项指定至少一个图标时,文本才会被抑制。 默认情况下,它的值为 true。 |
默认功能
以下示例演示了按钮小部件功能的一个简单示例,不向 button() 方法传递任何参数。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Buttons functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#button-1, #button-2, #button-3, #button-4" ).button(); $( "#button-5" ).buttonset(); }); </script> </head> <body> <button id = "button-1">A button element</button> <input id = "button-2" type = "submit" value = "A submit button"> <a id = "button-3" href = "">An anchor</a> <input type = "checkbox" id = "button-4" > <label for = "button-4">Toggle</label> <br><br> <div id = "button-5"> <input type = "checkbox" id = "check1"> <label for = "check1">Left</label> <input type = "checkbox" id = "check2"> <label for = "check2">Middle</label> <input type = "checkbox" id = "check3"> <label for = "check3">Right</label> </div> </body> </html>
让我们将上面的代码保存在一个 HTML 文件 buttonexample.htm 中,并在支持 javascript 的标准浏览器中打开它,您应该会看到以下输出。 现在,您可以查看结果 −
此示例演示了可用于按钮的标记:按钮元素、提交类型的输入和锚点。
使用图标、文本和禁用
下面的例子演示了JqueryUI的按钮函数中icons、text和disabled两个选项的用法。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Buttons functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#button-6" ).button({ icons: { primary: "ui-icon-locked" }, text: false }); $( "#button-7" ).button({ disabled:true }); $( "#button-8" ).button({ icons: { primary: "ui-icon-gear", secondary: "ui-icon-triangle-1-s" } }); }); </script> </head> <body> <button id = "button-6"> Button with icon only </button> <button id = "button-7"> Button Disabled </button> <button id = "button-8"> Button with two icons </button> </body> </html>
让我们将上面的代码保存在一个 HTML 文件 buttonexample.htm 中,并在支持 javascript 的标准浏览器中打开它,您应该会看到以下输出。 现在,您可以查看结果 −
在这里你可以看到一个只有图标的按钮,一个有两个图标的按钮和一个禁用的按钮。
$ (selector, context).button ("action", params) 方法
button ("action", params) 方法可以对按钮执行操作,例如禁用按钮。 该操作在第一个参数中指定为字符串(例如,"disable"以禁用按钮)。 在下表中查看可以传递的操作。
语法
$(selector, context).button ("action", params);
下表列出了可与此方法一起使用的不同动作 −
序号 | 操作 & 说明 |
---|---|
1 | destroy
此操作完全删除元素的按钮功能。 元素返回到它们的预初始化状态。 此方法不接受任何参数。 |
2 | disable
此操作禁用元素的按钮功能。 此方法不接受任何参数。 |
3 | enable
此操作启用元素的按钮功能。 此方法不接受任何参数。 |
4 | option( optionName )
此操作检索在 optionName 中指定的选项的值。 其中 optionName 是一个字符串。 |
5 | option
此操作检索包含表示当前按钮选项哈希的键/值对的对象。 |
6 | option( optionName, value )
此操作设置与指定的 optionName 关联的按钮选项的值。 |
7 | option( options )
此操作为按钮设置一个或多个选项。 其中 options 是要设置的选项值对的映射。 |
8 | refresh
此操作刷新按钮的显示。 当按钮由程序处理并且显示不一定对应于内部状态时,这很有用。 此方法不接受任何参数。 |
9 | widget
此操作返回一个包含按钮元素的 jQuery 对象。 此方法不接受任何参数。 |
示例
现在让我们看一个使用上表中的操作的示例。 以下示例演示了 destroy() 和 disable() 方法的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Buttons functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <script> $(function() { $( "#button-9" ).button({ text: false, icons: { primary: "ui-icon-seek-start" } }); $( "#button-9" ).button('destroy'); $( "#button-10" ).button({ icons: { primary: "ui-icon-seek-prev" } }); $( "#button-10" ).button('disable'); $( "#button-11" ).button({ text: false, icons: { primary: "ui-icon-play" } }); }); </script> </head> <body> <button id = "button-9"> I'm destroyed </button> <button id = "button-10"> I'm disabled </button> <button id = "button-11"> play </button> </body> </html>
让我们将上面的代码保存在一个 HTML 文件 buttonexample.htm 中,并在支持 javascript 的标准浏览器中打开它,您应该会看到以下输出 −
按钮上的事件管理
除了我们在前面部分看到的按钮(选项)方法之外,JqueryUI 还提供了针对特定事件触发的事件方法。 下面列出了这些事件方法 −
序号 | 事件方法 & 说明 |
---|---|
1 | create(event, ui)
创建按钮时会触发此事件。 其中event是Event类型,ui是Object类型。 |
示例
以下示例演示了按钮小部件功能的事件方法用法。 这个例子演示了事件 create 的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Buttons functionality</title> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <style> .resultarea { background: #cedc98; border-top: 1px solid #000000; border-bottom: 1px solid #000000; color: #333333; font-size:14px; } </style> <script> $(function() { $( "#button-12" ).button({ create: function() { $("p#result").html ($("p#result") .html () + "<b>created</b><br>"); } }); }); </script> </head> <body> <button id = "button-12"> A button element </button> <p class = "resultarea" id = result></p> </body> </html>
让我们将上面的代码保存在一个 HTML 文件 buttonexample.htm 中,并在支持 javascript 的标准浏览器中打开它,您应该会看到以下输出 −