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

只绑定 mouseleave 事件 onmouseover 是没有意义的,因为 mouseover 事件必须在 mouseleave 之前触发(AFAIK)。所以这会做:

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

当然,这假设.popover2在您的“实例化代码”运行时存在。

如果不,

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

只需删除内联并添加:

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