如何将inline-javascript移动到脚本标记?

时间:2012-07-03 21:43:12

标签: javascript jquery

所以我有这个popover工作正常,这是popover的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内容移动到实例化代码中。我不知道该怎么做。任何帮助都很棒,谢谢。

3 个答案:

答案 0 :(得分:4)

您是否尝试在实例化代码之后放置这行代码?

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

答案 1 :(得分:2)

只需删除内联并添加:

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

答案 2 :(得分:2)

没有必要仅仅绑定mouseleave事件onmouseover,因为鼠标悬停事件必须在mouseleave之前触发(AFAIK)。所以这样做:

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

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

如果没有,

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