代码之家  ›  专栏  ›  技术社区  ›  Alex

JQuery将blur上的浏览器标题设置为工作宽度焦点

  •  0
  • Alex  · 技术社区  · 7 年前

    在stackoverflow上找到的一段代码的帮助下,我成功地拼凑出了我自己版本的on blur title change脚本。

    我面临的唯一问题是当我加载页面时,我没有点击页面本身的任何地方{因此我不'集中'}脚本无法工作。

    我添加了一段代码,复制了focus方法并将其更改为load。

    $(function () {
        var message = '( ! ) :+Do not forget your reservation+:';
        var original = $('title').text();
    
        $(window).load(function () {
            console.log('window focussed');
            if (original) {
                document.title = original;
            }
        }).focus(function () {
            console.log('window focussed');
            if (original) {
                document.title = original;
            }
        }).blur(function () {
            console.log('window blurred');
            var title = $('title').text();
            if (title != message) {
                original = title;
            }
            document.title = message;
        });
        console.log('current title : ' + original);
    });
    

    但这并不能完全解决我的问题。 在这一点上,我需要点击另一个标签,返回并再次点击另一个标签。所以这是毫无意义的。

    为了让这个脚本从一开始就正常工作,我还缺少什么?


    非常感谢:@Brian

    focus(); 而不是福特的。。这很好,但在这里不起作用 )

    1 回复  |  直到 7 年前
        1
  •  1
  •   bcr    7 年前

    添加 .focus() 调用链的末端以强制 focus

    $(function () {
        var message = '( ! ) :+Do not forget your reservation+:';
        var original = $('title').text();
    
        $(window).load(function () {
            console.log('window focussed');
            if (original) {
                document.title = original;
            }
        })
        .focus(function () {
            console.log('window focussed');
            if (original) {
                document.title = original;
            }
        })
        .blur(function () {
            console.log('window blurred');
            var title = $('title').text();
            if (title != message) {
                original = title;
            }
            document.title = message;
        })
        .focus(); // add this line
        console.log('current title : ' + original);
    });