javascript - 仅在单击时打开 Jquery-ui 工具提示

原文 标签 javascript jquery ajax jquery-ui jquery-ui-tooltip

我有这个代码

function DrawTipsProgress(postid, ajaxurl) {

    var data = {
        action: 'ajax_action',
        post_id: postid
    }

    jQuery('#dashicon-' + postid).on("click", function () {

        jQuery.post(ajaxurl, data, function(response) {

            jQuery('#dashicon-' + postid).tooltip({

                position: { my: 'center bottom' , at: 'center top-10' },
                tooltipClass: "myclass",
                content: response

            });

            jQuery('#dashicon-' + postid).tooltip('open');

        });

    });

}

在第一次单击时,它按方面工作。
如果稍后我尝试再次悬停按钮而不单击它再次弹出工具提示,并且单击只是执行 ajax 调用但不打开工具提示。

最佳答案

工具提示在悬停时触发。在您的代码中,在“点击”事件发生之前它不会被绑定(bind)到元素,所以它并不是真正的点击导致它显示......它是点击之后的悬停。我相信你需要做的是使用 enabledisable .这是一个示例 fiddle 。
http://jsfiddle.net/ecropolis/bh4ctmuj/

<a href="#" title="Anchor description">Anchor text</a>

$('a').tooltip({
    position: { my: 'center bottom' , at: 'center top-10' },
    tooltipClass: "myclass",
    disabled: true,
    close: function( event, ui ) { 
        $(this).tooltip('disable'); 
        /* instead of $(this) you could also use $(event.target) */
    }
});

$('a').on('click', function () {
     $(this).tooltip('enable').tooltip('open');
});

关于javascript - 仅在单击时打开 Jquery-ui 工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28767137/

相关文章:

javascript - OrderBy bool 值与 AngularJS ng-repeat

javascript - jQuery的怪异json解析问题

javascript - Ajax PUT请求失败

javascript - 如果刷新页面,如何运行ajax脚本

javascript - 用jQuery更好的循环?

javascript - OnClick不起作用

javascript - 如何在TOAST UI组件图像编辑器中访问 Canvas ?

javascript - jQuery不会阻止表单提交

jquery - 使用jQuery在ajax调用期间将参数附加到url

jquery - 如何删除警告“无法在未安装的组件上执行 react 状态更新”