自定义函数上文本区域的 jQuery 加载事件

发布于 2024-11-28 05:56:18 字数 845 浏览 0 评论 0原文

尝试创建一个自定义函数,其中文本位于页面加载的输入中,以便将其与函数的其余部分分组,其中文本创建“信息”,如输入中的文本。我已经尝试过,.load().bind('load').ready(),但我什么也没得到。只是看看是否有办法解决这个障碍。

//removed some of the validation code for simplicity. 

/*
to set a grey text infomation into a input field
*/
$.fn.greyInfo = function (text)
{

    //troubled code - start
    $(this).load(function()
    {
        $(this).val(text);
        $(this).css('color', 'grey');
    });
    //troubled code - end

    $(this).blur(function()
    {
        if($(this).val() == "")
        {
            $(this).val(text);
            $(this).css('color', 'grey');
        }
    });

    $(this).focus(function()
    {
        if($(this).val() == text)
        {
            $(this).val("");
            $(this).css('color', 'black');
        } 
    });

}

Trying to have a custom function where the text is in the input on page load so that its grouped with the rest of the function where the text creates "information" like text in the input. I have tried, .load(), .bind('load'), .ready() and I dont get anything. Just seeing if there might be a solution to this bump in the road.

//removed some of the validation code for simplicity. 

/*
to set a grey text infomation into a input field
*/
$.fn.greyInfo = function (text)
{

    //troubled code - start
    $(this).load(function()
    {
        $(this).val(text);
        $(this).css('color', 'grey');
    });
    //troubled code - end

    $(this).blur(function()
    {
        if($(this).val() == "")
        {
            $(this).val(text);
            $(this).css('color', 'grey');
        }
    });

    $(this).focus(function()
    {
        if($(this).val() == text)
        {
            $(this).val("");
            $(this).css('color', 'black');
        } 
    });

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

真心难拥有 2024-12-05 05:56:18

答案很简单,您不需要调用函数 load,因为它已经存在。

$.fn.greyInfo = function(text)
{

// you also don't need to reference $(this) as the jquery object is implied
        this.val(text);
        this.css('color', 'grey');


    $(this).blur(function()
    {
        if($(this).val() == "")
        {
            $(this).val(text);
            $(this).css('color', 'grey');
        }
    });

    $(this).focus(function()
    {
        if($(this).val() == text)
        {
            $(this).val("");
            $(this).css('color', 'black');
        } 
    });

};

the answer is simple, you don't need to call the function load as it is already there.

$.fn.greyInfo = function(text)
{

// you also don't need to reference $(this) as the jquery object is implied
        this.val(text);
        this.css('color', 'grey');


    $(this).blur(function()
    {
        if($(this).val() == "")
        {
            $(this).val(text);
            $(this).css('color', 'grey');
        }
    });

    $(this).focus(function()
    {
        if($(this).val() == text)
        {
            $(this).val("");
            $(this).css('color', 'black');
        } 
    });

};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文