绑定事件:
这个API触发一些特殊的事件(以下详细信息),允许你给qTip分配多个时间监听,和为某一事件做出响应,例如:
我们绑定一个事件句柄,它将侦听qTip的移动的事件,和更新DIV元素里面显示的qTip的坐标内容;
- $('.selector').qtip({
- content: 'When I move I update coordinates on the page!',
- events: {
- move: function(event, api) {
- $('#coords').text( event.pageX + '/' + event.pageY );
- }
- }
- });
非常好!非常简单,而且易于集成,然而,如果我们需要的不仅仅只是更新坐标,对于整合其他插件来说的话,其中的一个问题就是,一个可能就是在不同的文件难以调用
我们内部已经存在的回调函数!
- $('.selector').qtip({
- content: 'When I move I update coordinates on the page!',
- events: {
-
-
-
-
- render: function(event, api) {
-
- var tooltip = api.elements.tooltip;
-
-
- tooltip.bind('tooltipmove', function(event, api) {
- anotherPlugin.update(event);
- })
-
- },
-
- move: function(event, api) {
- $('#coords').text( event.pageX + '/' + event.pageY );
- }
- }
- });
oh!非常棒!绑定多个事件是如此的简单,所有的可用事件列表如下,仅仅需要注意的是你的事件的前缀的名称是tooltip,当你手动绑定事件的时候;
event.preventDefault();
在这种情况下,使用Javascript标准函数,你可使用event.preventDefault(),来防止默认的事件发生,例如,在show事件中停止qTip显示:
- $('.selector').qtip({
- content: '我将不会显示,因为我的一个show事件返回了false!',
- show: 'mousedown',
- events: {
- show: function(event, api) {
- event.preventDefault();
- }
- }
- });
如果你需要在一些逻辑条件下决定显示还是不显示,使用这个非常方便,另外需要注意的是,任何的事件处理,都可以停止默认的动作,不仅仅是第一个绑定;
event.originalEvent
下面所有的事件都传入一个event对象最为第一个参数,在这个event对象中有另外一个对象叫originalEvent,这个包含这个事件触发的回调,可以使用它来检测特殊事件,
例如:右键点击事件
- $('.selector').qtip({
- content: 'Right-click to open me!',
- show: 'mousedown',
- events: {
- show: function(event, api) {
-
- if(event.originalEvent.button !== 2) {
- event.preventDefault();
- }
- }
- }
- });
render:function(){}
概述:
qTip渲染时候触发;
例子:
更新其他元素,例如一个购物车的总数,当qTip渲染的时候;
- $('.selector').qtip({
- content: {
- text: 'My tooltip content'
- },
- events: {
- render: function(event, api) {
- $('.cartTotal').triggerHandler('update');
- }
- }
- });