3

だから私はうまく機能しているこのポップオーバーを持っています。これがポップオーバーのhtmlです:

<div class="popover2"  onmouseover="$(this).mouseleave(function() {$(this).hide(); });">
    <div class="arrow"></div>
    <div class="popover2-inner">
        <span class="popover2-title">Popover() 2</span>
    <div class="popover2-content">
        <ul class="unstyled">
            <li><span>$200 Bronze</span><p>2 hrs. drivers training</p </li>
        </ul>
    </div>
</div>

そして、私はこのインスタンス化コードを持っています:

    $('.popover2-test').popover({
    placement:'bottom',
    template: $('.popover2'),
    trigger: 'manual',
    animate: false,
    html: true,

        }).click(function(e) {
            e.preventDefault() ;
        }).mouseenter(function(e) {
            $(this).popover('show');
    });

しかし、インラインの onmouseover javascript をインスタンス化コードに移動したいと考えています。これを行う方法がわかりません。どんな助けでも素晴らしいです、ありがとう。

4

3 に答える 3

4

インスタンス化コードの直後にこのコード行を配置しようとしましたか?

$('.popover2').mouseleave(function() { $(this).hide(); });
于 2012-07-03T21:46:05.383 に答える
2

インラインを削除して追加するだけです:

$('.popover2').mouseleave(function(){
    $(this).hide();
});
于 2012-07-03T21:46:15.410 に答える
2

とにかくmouseleaveの前にmouseoverイベントが発生する必要があるため(AFAIK)、mouseleaveイベントをonmouseoverにバインドするだけでは意味がありません。したがって、これは次のようになります。

$('.popover2').mouseleave(function() {
    $(this).hide();
});

.popover2もちろん、これは、 「インスタンス化コード」が実行されるときにそれが存在することを前提としています。

そうでない場合は、

$('.popover2').live('mouseleave', function() {
    $(this).hide();
});
于 2012-07-03T21:49:14.070 に答える