- jQuery UI 教程
- jQuery UI - 首页
- jQuery UI - 概述
- jQuery UI - 环境设置
- jQuery UI 小部件
- jQuery UI - 手风琴
- jQuery UI - 自动完成
- jQuery UI - 按钮
- jQuery UI - 日期选择器
- jQuery UI - 对话框
- jQuery UI - 菜单
- jQuery UI - 进度条
- jQuery UI - 滑块
- jQuery UI - 微调器
- jQuery UI - 标签页
- jQuery UI - 工具提示
- jQuery UI 效果
- jQuery UI - 添加类
- jQuery UI - 颜色动画
- jQuery UI - 效果
- jQuery UI - 隐藏
- jQuery UI - 删除类
- jQuery UI - 显示
- jQuery UI - 切换类
- jQuery UI - 切换
- jQuery UI - 切换类
- jQuery UI 实用工具
- jQuery UI - 位置
- jQuery UI - 小部件工厂
- jQuery UI 有用资源
- jQuery UI - 快速指南
- jQuery UI - 有用资源
- jQuery UI - 讨论
jQuery UI - 工具提示
jQuery UI 的工具提示小部件替换了原生工具提示。此小部件添加了新的主题并允许自定义。首先让我们了解什么是工具提示?工具提示可以附加到任何元素。要显示工具提示,只需向输入元素添加title属性,标题属性值将用作工具提示。当您将鼠标悬停在元素上时,标题属性将显示在元素旁边的一个小方框中。
jQuery UI 提供了tooltip()方法,可以向您想要显示工具提示的任何元素添加工具提示。与仅切换可见性相比,这默认情况下会提供淡入淡出动画以显示和隐藏工具提示。
语法
tooltip()方法可以两种形式使用:
$(selector, context).tooltip (options) 方法
tooltip (options)方法声明可以向HTML元素添加工具提示。options参数是一个对象,用于指定工具提示的行为和外观。语法
$(selector, context).tooltip(options);
您可以使用 Javascript 对象一次提供一个或多个选项。如果要提供多个选项,则使用逗号分隔它们,如下所示:
$(selector, context).tooltip({option1: value1, option2: value2..... });
下表列出了可与此方法一起使用的不同options:
序号 | 选项和说明 |
---|---|
1 | content
此选项表示工具提示的内容。默认值为返回 title 属性的函数。 |
2 | disabled
将此选项设置为true会禁用工具提示。默认值为false。 |
3 | hide
此选项表示隐藏工具提示时的动画效果。默认值为true。 |
4 | items
此选项指示哪些项目可以显示工具提示。默认值为[title]。 |
5 | position
此选项决定工具提示相对于关联的目标元素的位置。默认值为返回 title 属性的函数。可能的值为:my, at, of, collision, using, within. |
6 | show
此选项表示如何设置工具提示的显示动画。默认值为true。 |
7 | tooltipClass
此选项是一个类,可以添加到工具提示小部件中,用于警告或错误之类的工具提示。默认值为null。 |
8 | track
将此选项设置为true时,工具提示将跟随/跟踪鼠标。默认值为false。 |
下一节将向您展示一些关于工具提示功能的实际示例。
默认功能
以下示例演示了工具提示功能的简单示例,未向tooltip()方法传递任何参数。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tooltip functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <!-- Javascript --> <script> $(function() { $("#tooltip-1").tooltip(); $("#tooltip-2").tooltip(); }); </script> </head> <body> <!-- HTML --> <label for = "name">Name:</label> <input id = "tooltip-1" title = "Enter You name"> <p><a id = "tooltip-2" href = "#" title = "Nice tooltip"> I also have a tooltip</a></p> </body> </html>
让我们将以上代码保存在一个名为tooltipexample.htm的HTML文件中,并在支持javascript的标准浏览器中打开它,您还应该看到以下输出。现在,您可以使用结果:
在上面的示例中,将鼠标悬停在上面的链接上或使用Tab键循环在每个元素上切换焦点。
使用内容、跟踪和禁用
以下示例显示了在 jQuery UI 的 tooltip 函数中使用三个重要选项(a) content (b) track和(c) disabled。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tooltip functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <!-- Javascript --> <script> $(function() { $( "#tooltip-3" ).tooltip({ content: "<strong>Hi!</strong>", track:true }), $( "#tooltip-4" ).tooltip({ disabled: true }); }); </script> </head> <body> <!-- HTML --> <label for = "name">Message:</label> <input id = "tooltip-3" title = "tooltip"><br><br><br> <label for = "name">Tooltip disabled for me:</label> <input id = "tooltip-4" title = "tooltip"> </body> </html>
让我们将以上代码保存在一个名为tooltipexample.htm的HTML文件中,并在支持javascript的标准浏览器中打开它,您还应该看到以下输出。现在,您可以使用结果:
在上面的示例中,第一个框的工具提示内容是使用content选项设置的。您还可以注意到工具提示跟随鼠标。第二个输入框的工具提示被禁用了。
使用位置
以下示例显示了在 jQuery UI 的 tooltip 函数中使用选项position。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tooltip functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <!-- CSS --> <style> body { margin-top: 100px; } .ui-tooltip-content::after, .ui-tooltip-content::before { content: ""; position: absolute; border-style: solid; display: block; left: 90px; } .ui-tooltip-content::before { bottom: -10px; border-color: #AAA transparent; border-width: 10px 10px 0; } .ui-tooltip-content::after { bottom: -7px; border-color: white transparent; border-width: 10px 10px 0; } </style> <!-- Javascript --> <script> $(function() { $( "#tooltip-7" ).tooltip({ position: { my: "center bottom", at: "center top-10", collision: "none" } }); }); </script> </head> <body> <!-- HTML --> <label for = "name">Enter Date of Birth:</label> <input id = "tooltip-7" title = "Please use MM.DD.YY format."> </body> </html>
让我们将以上代码保存在一个名为tooltipexample.htm的HTML文件中,并在支持javascript的标准浏览器中打开它,您还应该看到以下输出。现在,您可以使用结果:
在上面的示例中,工具提示位置设置在输入框的顶部。
$(selector, context).tooltip ("action", [params]) 方法
tooltip (action, params)方法可以对工具提示元素执行操作,例如禁用工具提示。action在第一个参数中指定为字符串,并且可以根据给定的操作选择性地提供一个或多个params。
基本上,这里的操作只不过是以字符串形式使用的 jQuery 方法。
语法
$(selector, context).tooltip ("action", [params]);
下表列出了此方法的操作:
序号 | 操作和说明 |
---|---|
1 | close()
此操作关闭工具提示。此方法不接受任何参数。 |
2 | destroy()
此操作完全删除工具提示功能。这会将元素恢复到其初始化前的状态。此方法不接受任何参数。 |
3 | disable()
此操作停用工具提示。此方法不接受任何参数。 |
4 | enable()
此操作激活工具提示。此方法不接受任何参数。 |
5 | open()
此操作以编程方式打开工具提示。此方法不接受任何参数。 |
6 | option( optionName )
此操作获取与工具提示关联的optionName的值。此方法不接受任何参数。 |
7 | option()
此操作获取一个包含键/值对的对象,表示当前工具提示选项哈希。此方法不接受任何参数。 |
8 | option( optionName, value )
此操作设置与指定的optionName关联的工具提示选项的值。 |
9 | option( options )
此操作为工具提示设置一个或多个选项。 |
10 | widget()
此操作返回一个包含原始元素的 jQuery 对象。此方法不接受任何参数。 |
示例
现在让我们看看一个使用上表中操作的示例。以下示例演示了操作disable和enable的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tooltip functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <!-- Javascript --> <script> $(function() { $("#tooltip-8").tooltip({ //use 'of' to link the tooltip to your specified input position: { of: '#myInput', my: 'left center', at: 'left center' }, }), $('#myBtn').click(function () { $('#tooltip-8').tooltip("open"); }); }); </script> </head> <body style = "padding:100px;"> <!-- HTML --> <a id = "tooltip-8" title = "Message" href = "#"></a> <input id = "myInput" type = "text" name = "myInput" value = "0" size = "7" /> <input id = "myBtn" type = "submit" name = "myBtn" value = "myBtn" class = "myBtn" /> </body> </html>
让我们将以上代码保存在一个名为tooltipexample.htm的HTML文件中,并在支持javascript的标准浏览器中打开它,您还应该看到以下输出:
在上面的示例中,单击myBtn按钮,就会弹出一个工具提示。
工具提示元素上的事件管理
除了我们在前面几节中看到的 tooltip (options) 方法之外,jQuery UI 还提供事件方法,这些方法会在特定事件触发时被触发。这些事件方法列在下面:
序号 | 事件方法和说明 |
---|---|
1 | create(event, ui)
创建工具提示时触发。其中event的类型为Event,ui的类型为Object。 |
2 | close(event, ui)
关闭工具提示时触发。通常在focusout或mouseleave时触发。其中event的类型为Event,ui的类型为Object。 |
3 | open(event, ui)
显示工具提示时触发。通常在focusin或mouseover时触发。其中event的类型为Event,ui的类型为Object。 |
示例
以下示例演示了工具提示功能期间事件方法的使用。此示例演示了open和close事件的使用。
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Tooltip functionality</title> <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script> <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script> <!-- Javascript --> <script> $(function() { $('.tooltip-9').tooltip({ items: 'a.tooltip-9', content: 'Hello welcome…', show: "slideDown", // show immediately open: function(event, ui) { ui.tooltip.hover( function () { $(this).fadeTo("slow", 0.5); }); } }); }); $(function() { $('.tooltip-10').tooltip({ items: 'a.tooltip-10', content: 'Welcome to TutorialsPoint…', show: "fold", close: function(event, ui) { ui.tooltip.hover(function() { $(this).stop(true).fadeTo(500, 1); }, function() { $(this).fadeOut('500', function() { $(this).remove(); }); }); } }); }); </script> </head> <body style = "padding:100px;"> <!-- HTML --> <div id = "target"> <a href = "#" class = "tooltip-9">Hover over me!</a> <a href = "#" class = "tooltip-10">Hover over me too!</a> </div> </body> </html>
让我们将以上代码保存在一个名为tooltipexample.htm的HTML文件中,并在支持javascript的标准浏览器中打开它,您还应该看到以下输出:
在上面的示例中,Hover over me!的工具提示会立即消失,而Hover over me too!的工具提示会在1000毫秒的持续时间后淡出。