Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我能';t使用jQuery更改工具提示引导位置_Javascript_Jquery_Css_Twitter Bootstrap - Fatal编程技术网

Javascript 我能';t使用jQuery更改工具提示引导位置

Javascript 我能';t使用jQuery更改工具提示引导位置,javascript,jquery,css,twitter-bootstrap,Javascript,Jquery,Css,Twitter Bootstrap,我无法使用jQuery更改工具提示引导位置。 榜样 如果在text1中输入较大的值,则函数ck()需要更改工具提示的位置 还可以使用jQuery更改红色工具提示的颜色吗 <input type="text" id="text1" name="title" value="" data-toggle="tooltip" data-placement="top"title="this need to be less"> <input type="text" id="text2" n

我无法使用jQuery更改工具提示引导位置。 榜样
如果在text1中输入较大的值,则函数ck()需要更改工具提示的位置


还可以使用jQuery更改红色工具提示的颜色吗

<input type="text" id="text1" name="title" value=""  data-toggle="tooltip" data-placement="top"title="this need to be less">
<input type="text" id="text2" name="title" value=""  data-toggle="tooltip" data-placement="bottom"title="bigger ">

引导工具提示插件有一个“放置”选项,用于控制工具提示的一般位置(顶部、底部、左侧、右侧),但它会计算此函数中的确切位置:

Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :
       placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
       placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
    /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
 }
您可以重写此函数以提供自己的逻辑(可能通过添加“自定义”放置类型。请注意,插件除了设置css位置属性外,还将位置类型作为类应用于元素。这些类将在
setContent
函数中删除,因此您必须调整该函数以删除新的自定义放置类型类。很可能您还必须考虑的其他问题/注意事项-这不是一个简单的选择。但这将是一个有趣的项目,甚至可能值得一次请求:)

另一种方法是在启动插件完成后简单地移动/覆盖位置。有一个“显示”事件可用,但它仅在应用css转换后触发,因此可能不合适

示例可能如下(未经测试的代码):


您可能需要查看jQueryUI工具提示小部件-它有更多用于定位工具提示的功能(包括添加自定义偏移)。

如果我正确理解了问题,他希望修改/自定义工具提示的确切位置(将其向左或向右移动)。上述函数只能返回一个内置位置..tooltip.top.tooltip internal{background color:#f00;}我想使用此css。$(“#text1”).attr(“数据放置”,“顶部”);如果data fom文本框不正常,我会将工具提示从底部切换到顶部,使工具提示变为红色。我不确定这里的问题到底是什么。你应该能够在显示的事件中放置颜色更改逻辑。我想更改位置,因为如果用户出错,我无法更改红色。因此我添加到css:.tooltip.top.tooltip内部{background color:#f00;}如果没有错误,则将来自用户的数据保留在工具提示的底部。如果错误,则希望使用内置位置顶部,因为css中的顶部为红色。我无法使用jquery更改红色的工具提示颜色。
$('body').tooltip({
    placement: function(tip, element) { 
        //code to calculate the position here, return values: "left", "right", "top", "bottom"
    },
    selector: '[data-toggle="tooltip"]'
});
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :
       placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
       placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
    /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
 }
$('#text2').on('shown.bs.tooltip', function () {
  var left = $(this).css('left');
  $(this).css({
     left: left + 50
   });
})