css - Kendo UI Tabstrip 和 jQuery Tooltipster 重叠问题

标签 css kendo-ui tooltipster

我使用 MVC4、Kendo tabstrip 以及 jQuery Tooltipster 来显示验证消息。

我的问题是,由于 z-index,来自选项卡 1 的验证消息在选项卡 2 上重叠。我已经尝试为 tooltipster-base 设置 z-index 但没有用。

我的 HTML 代码看起来像这样:

<div id="tabstrip">
    <ul> 
      <li>Tab 1</li>
      <li>Tab 2</li>
    </ul>
    <div><form id="myform">
    <input type="text" name="field1" />
    <input type="text" name="field2" />
    <br/>
    <input type="submit" />
</form></div>
    <div><form id="myform2">
    <input type="text" name="field3" />
    <input type="text" name="field4" />
    <br/>
    <input type="submit" />
</form></div>
  </div>

脚本:

$(document).ready(function () {
    var tabstrip = $("#tabstrip").kendoTabStrip().data("kendoTabStrip");
    tabstrip.select(0);

    // initialize tooltipster on text input elements
    $('#myform input[type="text"]').tooltipster({
        trigger: 'custom',
        onlyOne: false,
        position: 'right'
    });

    $('#myform2 input[type="text"]').tooltipster({
        trigger: 'custom',
        onlyOne: false,
        position: 'right'
    });

    // initialize validate plugin on the form
    $('#myform').validate({
        errorPlacement: function (error, element) {
            $(element).tooltipster('update', $(error).text());
            $(element).tooltipster('show');
        },
        success: function (label, element) {
            $(element).tooltipster('hide');
        },
        rules: {
            field1: {
                required: true,
                email: true
            },
            field2: {
                required: true,
                minlength: 5
            }
        },
        submitHandler: function (form) { // for demo
            alert('valid form');
            return false;
        }
    });

    // initialize validate plugin on the form2
    $('#myform2').validate({
        errorPlacement: function (error, element) {
            $(element).tooltipster('update', $(error).text());
            $(element).tooltipster('show');
        },
        success: function (label, element) {
            $(element).tooltipster('hide');
        },
        rules: {
            field3: {
                required: true,
                email: true
            },
            field4: {
                required: true,
                minlength: 5
            }
        },
        submitHandler: function (form) { // for demo
            alert('valid form');
            return false;
        }
    });


});

请检查: JSFiddle:http://jsfiddle.net/vishalvaishya/bCZWd/2/

请帮助我设置正确的 css 样式。

最佳答案

我自己找到了解决方案。可能对某人有帮助。

对工具提示逻辑进行了一些更新。

添加了额外选项 (appendTo) 以仅将工具提示放在特定元素上:

c = {
     animation: "fade",
     appendTo: "body", 
     arrow: true,
... 

并在 showTooltip 函数中更改了 tooltipster.appendTo('body') 的参数,例如;

tooltipster.appendTo($(l.options.appendTo));

用法:

$('#profileForm input[type="text"]').tooltipster({
        trigger: 'custom',
        onlyOne: false,
        position: 'right',
        appendTo: '#profileForm'        
});

像这样,您可以在不同的剑道选项卡或不同的 div 上使用 tooltipster。

参见 JSFiddle:

上一个:http://jsfiddle.net/vishalvaishya/bCZWd/2/

工作:http://jsfiddle.net/vishalvaishya/bCZWd/3/

关于css - Kendo UI Tabstrip 和 jQuery Tooltipster 重叠问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17462930/

相关文章:

CSS:尽管字体大小发生变化,但字符串之间的距离保持相等

css - 平稳过渡

javascript - Kendo UI 默认网格过滤器值

javascript - 单击工具提示内的标签

javascript - jQuery/Bootstrap : Child DIV opens up Parent Modal

css - Angular 2中背景图像url的属性属性绑定(bind)

angularjs - Kendo DropdownList 和 ng-model 不起作用

kendo-ui - 如何隐藏剑道模式窗口上的关闭按钮

javascript - 在 Angular js 中使用 Tooltipster Jquery 插件