javascript - 修复了将 CSS 应用于标题属性的脚本

标签 javascript jquery

下面的脚本将 CSS 类应用于 html 标题属性。该脚本出现的原始页面位于:How to change the style of Title attribute inside the anchor tag?

效果很好,但有一个小错误。如果 title 属性为空 ( <input type="text" title=""> ),它仍然在屏幕上显示一个空的弹出框。

有人可以帮忙解决这个问题吗?类似于“如果 title 属性没有值,则不应用 css,不显示弹出框。谢谢!

下面的脚本:

// Use a closure to keep vars out of global scope
(function () {
    var ID = "tooltip", CLS_ON = "tooltip_ON", FOLLOW = true,
    DATA = "_tooltip", OFFSET_X = 20, OFFSET_Y = 10,
    showAt = function (e) {
        var ntop = e.pageY + OFFSET_Y, nleft = e.pageX + OFFSET_X;
        $("#" + ID).html($(e.target).data(DATA)).css({
            position: "absolute", top: ntop, left: nleft
        }).show();
    };
    $(document).on("mouseenter", "*[title]", function (e) {
        $(this).data(DATA, $(this).attr("title"));
        $(this).removeAttr("title").addClass(CLS_ON);
        $("<div id='" + ID + "' />").appendTo("body");
        showAt(e);
    });
    $(document).on("mouseleave", "." + CLS_ON, function (e) {
        $(this).attr("title", $(this).data(DATA)).removeClass(CLS_ON);
        $("#" + ID).remove();
    });
    if (FOLLOW) { $(document).on("mousemove", "." + CLS_ON, showAt); }
}());

最佳答案

这样:

$(document).on("mouseenter", "*[title]:not([title=''])" ...

关于javascript - 修复了将 CSS 应用于标题属性的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26702472/

相关文章:

javascript - 如何在其他页面上处于事件状态时更新其他页面标题?

javascript - 如何使用线性函数逼近标准化权重 q 学习

jquery - 如何在GWT应用程序中使用jquery?

javascript - Highchart绘制问题

javascript - 使侧面菜单具有动态列

javascript - 重置自定义 jQuery Spinner 的问题

javascript - AutoCompleteExtender - 强制用户只能从返回的列表中进行选择 - ASP.NET

javascript - 如何将 DOM 元素脚本添加到 head 部分?

jquery - 我在哪里合并或添加标题上的下拉菜单脚本。 fiddle

javascript - 我怎样才能在 javascript 中停止鼠标事件?