2011-08-21 79 views
2

對於一個正常的輸入字段,我可以編寫類似下面的代碼,這將刪除輸入字段的默認值,當我點擊,如果我不寫任何東西在輸入字段,比當我離開輸入字段時,默認值將會返回。CKEditor on focus刪除默認值

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); 
}); 

回答

2

你試過這個嗎?

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

this.value is undefined for me – Gowri

0

結合上面的想法[該另一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來更改它。