手动触发复选框元素的Bootstrap工具提示

时间:2014-07-03 17:20:26

标签: jquery twitter-bootstrap twitter-bootstrap-tooltip

我正在构建一个" custom"我的Web应用程序的验证模块。我将更改侦听器附加到我的所有复选框元素。当更改事件发生时,我检查是否需要输入 - 如果未检查元素,则元素验证失败。当我手动点击任何给定的复选框时,这非常有效。工具提示按计划显示/销毁。

单击提交按钮时,我试图获得相同的功能。系统看到工具提示(应该)被渲染 - 但它不是。这就像我需要触发点击事件,但如果我在复选框元素上执行此操作 - 该元素将被选中。不完全是用户想要的功能。我不确定如何通过点击传递,而不实际点击任何东西。

如果任何给定元素无效,我将如何调用我的toolip:

Validation.js

Tooltip.initialize($element, {'trigger': 'click', 'placement': 'bottom', 'title': Messages[$element.attr('name') + 'Required']});

这是init和amp;的代码。显示任何给定的工具提示:

Tooltip.js

initialize: function($element, options) {
        (Tooltip.debug) ? console.log('-- initialize --') : null;
        (Tooltip.debug) ? console.log('tooltip for: ' + $element.attr('name')) : null;

        var that = this;

        $('#' + $element.attr('name')).tooltip({
            'placement': options.placement,
            'title': options.title,
            'trigger': options.trigger
        }).on({
            'blur': function() {
                switch ($element.attr('type'))
                {
                    case 'checkbox':

                        break;
                    case 'email':
                        that.show($element);
                        break;
                    case 'password':
                        that.show($element);
                        break;
                    case'tel':
                        that.show($element);
                        break;
                    case 'text':
                        that.show($element);
                        break;
                    default:
                        break;
                }
            },
            'focus': function() {
                that.destroy($element);
            }
        });

....

show: function($element) {
        $('#' + $element.attr('id')).tooltip('show');
    },
destroy: function($element) {
        $('#' + $element.attr('id')).tooltip('destroy');
    }

....

1 个答案:

答案 0 :(得分:0)

由于您没有在小提琴中包含任何样本,因此不确定您要实现的目标。但也许不是使用click()事件,而是使用mouseover()http://api.jquery.com/mouseover/