如何为新加载的元素提供一个JQuery UI工具提示?

时间:2014-11-10 15:49:01

标签: javascript jquery jquery-ui jquery-tooltip

我有一个几乎空的HTML文件,其中包含所有JS和Css文件。然后我加载一个内容页面。其中一些包含用户名,我想在其中添加工具提示

他们中的大多数看起来像这样:

<user title="" uid="12345" class="a">Username</user>

$( document ).on("load", "user", function(){
    $(this).tooltip({
        content : "loading...",
        open : function(){
            var elem = $(this)
            $.ajax("UserInfoToolTipContent.jsp?id="+$(this).attr("uid")).success(function(data){
                elem.tooltip("option", "content", data);
            });
        }
    });
});

这是这样做的吗?因为它不起作用,我没有收到任何错误消息

1 个答案:

答案 0 :(得分:0)

    <link href="../css/ui-lightness/jquery-ui-1.10.4.custom.min.css" rel="stylesheet" />
    <script src="../js/jquery-1.10.2.js"></script>
    <script src="../js/jquery-ui-1.10.4.custom.min.js"></script>
    <script>
        $(document).ready(function () {
            addUserTagDynamic('<br /><br /><br /><br /><user title="jjj" data-message="Test 2" uid="12345" class="a">Username</user>');
            addUserTagDynamic('<br /><br /><br /><br /><user title="jj" data-message="Test 3" uid="12346" class="a">Username</user>');
        });

        function addUserTagDynamic(data1) {
            $('body').append(data1);
            //alert(.length);
            $('body').find('user:not(.addedtooltip)').tooltip({
                open: function () {
                    var elem = $(this)
                    elem.tooltip("option", "content", "<h5>Loading....</h5>");



                    setTimeout(function () {
                        elem.tooltip("option", "content", "<h6>Hi... I am AJAX Content [ " + elem.data('message') + " ].</h6>");
                    }, 500);

                    //Or

                    //$.ajax("UserInfoToolTipContent.jsp?id=" + $(this).attr("uid")).success(function (data) {
                    //    elem.tooltip("option", "content", data);
                    //});
                }
            }).addClass('addedtooltip');
        };
    </script>