【问题标题】:replace tooltip(bootstrap) text by clicking通过单击替换工具提示(引导)文本
【发布时间】:2017-06-14 01:25:46
【问题描述】:

我试图在单击实际按钮时更改引导工具提示按钮的文本,然后在鼠标不在按钮上方以动态返回工具提示的默认文本后。我在使用 jquery 代码时遇到问题。有人可以向我解释一下事情是如何运作的。我的想法是首先检查按钮是否被单击,然后是否显示(更改默认工具提示消息)然后当鼠标不再在按钮上方或未单击按钮以显示工具提示消息但我不能把事情放在我的脑海里,它将如何被构建。 任何建议都非常受欢迎。

这是我到目前为止的代码。

$(function() {
	var $toolTip = $('#tooltip-example');
	$toolTip.tooltip();

	$toolTip.click(function(){
		$myToolTip.attr('title', 'New Hello World Message').tooltip('fixTitle').tooltip('show');
	});

});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />


<button type="button" class="btn btn-default" id="tooltip-example" data-tooltip title="Hello world">Click me</button>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

【问题讨论】:

    标签: javascript jquery twitter-bootstrap


    【解决方案1】:

    尝试如下。

    我在您的示例中看到的唯一问题是 $myToolTip 未定义,您的意思一定是 $toolTip

    SO sn-p 中的另一个问题是屏幕顶部按钮的位置,这导致工具提示无法正确显示,我将工具提示方向更改为底部以修复它。

    $(function() {
      var $toolTip = $('#tooltip-example');
      var originalTitle = $toolTip.attr('title');
      $toolTip.tooltip({placement: "bottom"});
    
      $toolTip.click(function() {
        $toolTip.attr('title', 'New Hello World Message').tooltip('fixTitle').tooltip('show');
      });
      
      $(document).on("mouseout","#tooltip-example",function()
      {
        $toolTip.attr('title',originalTitle).tooltip('fixTitle').tooltip('show');
      });
    
    });
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
    
    <button type="button" class="btn btn-default" id="tooltip-example" data-tooltip title="Hello world">Click me</button>

    【讨论】:

    • 是的,感谢您的指出,但是如果我想在不再单击按钮后转默认文本怎么办?
    • @noone432423 不再点击?你的意思是不再专注,因为点击是一个事件,一旦生成就无法撤消。
    • 不,我解释错了。实际上,一旦单击按钮-文本被更改,然后当鼠标不再位于按钮上方或用户在按钮外部单击时,我希望返回默认文本,然后当用户再次单击它时-相同过程发生。
    • @noone432423 更新了所需行为的解决方案。希望这会有所帮助。
    猜你喜欢
    • 2022-11-03
    • 1970-01-01
    • 2013-06-20
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 2016-05-06
    相关资源
    最近更新 更多