【问题标题】:How to "reset" click event (with qtip2)?如何“重置”点击事件(使用 qtip2)?
【发布时间】:2012-08-03 22:07:55
【问题描述】:

我对点击事件和qtip2有一点疑问。

在第一次点击元素$j('a[href^="/i/"]') 后,当我再次移到它上面时,会出现气泡。我希望每次单击元素时都会出现气泡。

我的代码:

$j('a[href^="/i/"]').click(function(event) { 
        event.preventDefault(); 
        $j(this).qtip({
            content: {
                title: {
                    text: title_qtip,
                    button: true,
                },
                text: text_qtip,                
            },
            show: { 
                //  event: false,   <-- doesn't work
                solo: true,
                ready: true 
            },
            hide: false,
        });   
       // $j('a[href^="/i/"]').unbind('click');    <-- doesn't work
       // $j('a[href^="/i/"]').unbind('onmouseover').unbind('onmouseout');   <-- doesn't work
});

【问题讨论】:

    标签: javascript jquery qtip2 dajax


    【解决方案1】:

    首先,不要在事件处理程序中声明您的 qTip2 函数。您不想在每次单击对象时声明一个新的 qTip。您所要做的就是更改 show 函数中的事件行。应该是:

    $j(document).ready(function(){
    
         $j('//selector').qtip({
            content: {
                title: {
                    text: title_qtip,
                    button: true,
                },
                text: text_qtip,                
            },
            show: { 
                event: 'click',   
                solo: true,
                ready: true 
            },
            hide: false,
        });   
    }
    

    这将在单击选择器 ($j(//your selector)) 时触发工具提示。

    这是一个更新的小提琴:http://jsfiddle.net/LJwLh/1101/

    您的问题似乎是使用了a 标签。如果您不打算链接到任何内容,则没有理由使用该标签。

    【讨论】:

    • 谢谢,我试过了,但是当我点击链接时,默认事件会启动并且不会触发工具提示。
    • 您的代码中没有任何地方定义默认事件?您是在谈论a 标签吗?如果您不希望标签触发,请尝试使用 span。
    • 谢谢!我明白其中的不协调!我解决了使用类$j('.sc_box_l[data-full="true"]') 而不是$j('a[href^="/i/"]') 并从元素中删除了a(不再需要)。现在我正在寻找在内容中插入一个元素值;这是可能的?喜欢text: '&lt;h2&gt;Value: '+ $j(this).siblings(".value").html() +'&lt;/h2&gt;'
    • 这是一个更新的小提琴jsfiddle.net/LJwLh/1102。我认为您无法访问this,因此您必须使用选择器。但是你应该测试一下,因为我不记得了。
    • 我尝试复制link,当有更多相同类的元素时(这是我的情况),捕获第一个(我想象中的)。我也尝试使用this,但在 Web 上搜索 (eg) 我发现要引用当前元素,我需要封装 qtip 调用。我终于解决了最初的“点击”问题:here,我把它放在了$j(document).ready(function()。非常感谢您的帮助!! :-)
    猜你喜欢
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多