【问题标题】:Show Bootstrap Popover on Blur not click在 Blur 上显示 Bootstrap Popover 不点击
【发布时间】:2016-07-08 20:22:58
【问题描述】:

这似乎是一件非常简单的事情,但我已经花了好几个小时来处理它:我想检查注册表单上用户名的唯一性。所以我正在编写一个调用某个端点的小型 AJAX jquery 函数,同时我显示一个正在检查唯一性的弹出框。

https://jsfiddle.net/7p41z88h/

这是我的html:

<div class="row">
  <div class="col-lg-12" style="margin-top:200px">
  <form method="post" action="#">
    <div class="form-group">
      <input type="text" class="form-control" placeholder="Username" required="" name='name' id="username" >
    </div>
  </form>  
  </div>
</div>

这是我的 js:

var check = '<img src="http://investors.boozallen.com/assets_files/spinner.gif" /> Checking if this username is available...';

$('#username').blur( function(){
    $("#username").popover( { 
        title: '', 
        content: check, 
        html:true, 
        placement: 'top' 
    });
});

我的期望是这会在blur 事件上显示popover,但在我单击某处并返回输入后会显示它。为什么?我在这里缺少什么?

【问题讨论】:

    标签: javascript jquery twitter-bootstrap popover blur


    【解决方案1】:

    您必须先创建弹出框,然后在模糊中显示它。

    var check = '<img src="http://investors.boozallen.com/assets_files/spinner.gif"> Checking if this username is available...';
    
    $('#username').blur(function() {
      $(this).popover({ 
        title: '', 
        content: check, 
        html: true, 
        placement: 'top',
        trigger: 'manual'
      });
      $(this).popover('show');
    });
    
    $('#username').click(function() {
      $(this).popover('hide');
    });
    

    CODEPEN

    【讨论】:

    • 仍然有一个奇怪的行为:在输入中输入一些内容,在输入上单击几次直到弹出框消失,现在弹出框在 clickblur 上切换 - 我该怎么做分离点击事件?
    • 其实我找到了更好的解决方案,现在检查一下。
    猜你喜欢
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    相关资源
    最近更新 更多