CKEditor 焦点移除默认值

发布于 2024-11-30 10:09:10 字数 720 浏览 2 评论 0原文

对于普通输入字段,我可以编写类似下面的代码,当我单击时,它将删除输入字段的默认值,如果我不在输入字段中写入任何内容,则当我离开输入时将返回默认值场地。

jQuery('input[type="text"]').focus(function()
    {
        if (this.value == this.defaultValue)
        {
            this.value = '';
        }
        if(this.value != this.defaultValue)
        {
            this.select();
        }
    });

    jQuery('input[type="text"]').blur(function()
    {
        if (this.value == '')
        {
            this.value = this.defaultValue;
        }
    });

但我不知道如何使用 CKEditor 执行此操作..我可以获得一些帮助吗?

我发现这段代码在我单击 CKEditor 时会发出警报。但我不知道如何修改它以按照我需要的方式工作。

CKEDITOR.instances['post_content'].on('focus', function()
{
    alert(1);
});

For a normal input field i can write something like the below code, which will remove the default value of an input field when i click, and if i dont write anything in the input field, than the default value will return when i leave the input field.

jQuery('input[type="text"]').focus(function()
    {
        if (this.value == this.defaultValue)
        {
            this.value = '';
        }
        if(this.value != this.defaultValue)
        {
            this.select();
        }
    });

    jQuery('input[type="text"]').blur(function()
    {
        if (this.value == '')
        {
            this.value = this.defaultValue;
        }
    });

But i have no clue how to do this with CKEditor.. Can I get some help.

I found this code which will alert when I click in the CKEditor. But I dont know how modify it to work the way I need.

CKEDITOR.instances['post_content'].on('focus', function()
{
    alert(1);
});

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

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

发布评论

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

评论(2

东风软 2024-12-07 10:09:10

你试过这个吗?

CKEDITOR.instances['post_content'].on('focus', function()
{
    if (this.value == defaultValue)
    {
        this.value = '';
    }
});

Have you tried this?

CKEDITOR.instances['post_content'].on('focus', function()
{
    if (this.value == defaultValue)
    {
        this.value = '';
    }
});
随波逐流 2024-12-07 10:09:10

将上述想法与[另一篇SO文章][1]相结合:

// delete default text on focus
CKEDITOR.instances['editor1'].on('focus', function () {

    var defaultText = '<p class=\"ckNormal\">Type your comment here</p>';
    var currentText = CKEDITOR.instances.editor1.getData();

    // debug - removed
    // alert(defaultText + '\n' + currentText);

    if (defaultText.trim()==currentText.trim()) {
        CKEDITOR.instances.editor1.setData('');
    }
});

您可能不需要在测试之前修剪文本。这使用 getData 来查找文本是什么,并使用 setData 来更改它。

Combining the idea above with [this other SO article][1]:

// delete default text on focus
CKEDITOR.instances['editor1'].on('focus', function () {

    var defaultText = '<p class=\"ckNormal\">Type your comment here</p>';
    var currentText = CKEDITOR.instances.editor1.getData();

    // debug - removed
    // alert(defaultText + '\n' + currentText);

    if (defaultText.trim()==currentText.trim()) {
        CKEDITOR.instances.editor1.setData('');
    }
});

You probably won't need to trim the text before testing. This uses getData to find what the text is, and setData to change it.

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