【问题标题】:Adjust position of some tool tips based on class of trigger using jqueryTOOLS使用jqueryTOOLS根据触发器类调整一些工具提示的位置
【发布时间】:2012-11-20 01:04:17
【问题描述】:

我正在使用 jquery 的 jqueryTOOLS 插件为我网站上的一组表单字段生成工具提示。

事件触发器由一小段 javascript 决定:

$(function() {
$("#myform :input[title],label[title]").tooltip({
position: "top center",
offset: [-10, 0],
effect: "fade",
opacity: 1.0
      });
    });

如您所见,这会触发 s 的 title 属性和 s 作为工具提示 onFocus。

您还可以看到工具提示的配置是作为此 javascript 的一部分进行的,位置已设置,以及偏移量等。

我的问题:

相对于表单中的字段,工具提示不能占据任何一个位置。有些元素我需要它出现在左边,一些在右边,一些在上面。我正在寻找一种基于元素类的方法来指定元素的替代位置。

我试过了:

设置我需要提示出现在左侧的元素的类,如下所示:

<input  
        title="This text becomes the tooltip" 
        class="errorleft" 
        type="radio" 
        name="somename" 
        value="value" 
        id="elementID"  
                /> 

然后调整我的 javascript 以包含一个额外的触发器:

$(function() {
$("#myform :input[title],label[title]").tooltip({
position: "top center",
offset: [-10, 0],
effect: "fade",
opacity: 1.0
      });
    });

    $(function() {
$("#myform.errorleft :input[title],label[title]").tooltip({
position: "center left",
offset: [0, 0],
effect: "fade",
opacity: 1.0
      });
    });

这不起作用(我知道为什么),我知道有办法做到这一点,但我看不到办法,到目前为止,我在 jqt 网站上找到的文档中没有讨论过这个。

任何想法都非常感谢

jsFiddle
这是我使用演示表单的情况的 jsfiddle,以及我尝试过的代码 - 在此示例中,电子邮件字段具有类“errorleft”,而所有其他字段都是无类的。所有工具提示都显示在右侧 http://jsfiddle.net/DjHr7/1/

【问题讨论】:

    标签: javascript jquery tooltip jquery-tools


    【解决方案1】:

    您的选择器中缺少一个空格。正如目前所写,

    $("#myform.errorleft :input[title],label[title]")
    

    意思是,找到具有 id #myform 和类 .errorleft 的元素。它应该使用以下语法:

    $("#myform .errorleft")
    

    这意味着,在 id 为 #myform

    的元素中找到类 .errorleft 的元素

    (如果你给每个输入字段一个类,你就不必担心添加:input[title],label[title]

    【讨论】:

    • 谢谢你 - 虽然它似乎没有什么不同 - 我用你建议的这种格式创建了这个 jsfiddle,(表单中的电子邮件字段设置了一个类 errorleft,但显示正常)jsfiddle.net/DjHr7/1(即使你的语法调整)
    • 看看这个小提琴http://jsfiddle.net/tppiotrowski/DjHr7/3/你的想法是对的,但是你的选择器仍然需要一些工作#myform .errorleft :input意味着你想在一个带有类errorleft的元素内输入一个id为myform的元素。但是,您的输入元素有 errorleft 类,所以它应该只是 #myform .errorleft#myform input.errorleft
    • 顺便说一句,感谢您发布您的小提琴。它使调试问题变得轻而易举!
    • 太棒了!我刚刚将它应用到我的代码中并且在整个过程中运行良好 - jsfiddle没有问题,这是我能做的至少,感谢您花时间为我纠正它。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    相关资源
    最近更新 更多